Совет: Вы можете включить принудительный https, но это будет работать только для вашего сервера, а не для любых внешних загружаемых вами ресурсов.
Этот код заменит http: с https: .Это связано с тем, что любое предшествующее вхождение https приведет к httpss , поэтому в конце стоит ':'.
<?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.
?>