Tip: You can turn on force https but that would only work for your server and not for any external resources you download.
This code will replace http: with https: . That's because any prior occurrence of https would result in httpss, that's why the ':' at the end.
<?php
function replacehttp($dir){
$dir_array = scandir($dir);
unset($dir_array[array_search('.', $dir_array, true)]);
unset($dir_array[array_search('..', $dir_array, true)]);
if (count($dir_array) < 1)
return;
foreach($dir_array as $temp){
if(is_file($dir.'/'.$temp))
{
$file_contents = file_get_contents($dir.'/'.$temp);
$file_contents = str_replace("http:","https:",$file_contents);
//replacing http: with https: because replacing "http" with "https" would result in existing "https" string to become "httpss"
file_put_contents($dir.'/'.$temp,$file_contents);
}
if(is_dir($dir.'/'.$temp)) replacehttp($dir.'/'.$temp);
}
}
replacehttp(getcwd()); //Works in the current directory the php file is placed in or add full path to the directory.
?>