У меня есть скрипт, который загружает изображения с внешнего сервера и сохраняет их в папке в корне сайта.Файл скрипта также находится в корне сайта.
папка для изображений: / public_html / images /
script: /public_html/script.php
Когда я запускаю файл вручную (example.com/script.php) всескачанные файлы изображений правильно сохраняются в папке.Но когда файл выполняется заданием cron, все изображения сохраняются с размерами 0 байт.
Я пытался очистить папку перед запуском задания cron.Я изменил права доступа на 777. Файл журнала, когда скрипт запускается вручную и поскольку cron выглядит одинаково.
Задание cron настроено в cpanel cpanel.
Пожалуйста, помогите мне понятьчто происходит.
$dir = "/home/example/public_html/images/";
foreach (scandir($dir) as $item) {
if ($item == '.' || $item == '..') continue;
unlink($dir.DIRECTORY_SEPARATOR.$item);
}
$ftp_server = 'www2.housescape.org.uk';
$ftp_conn = ftp_connect($ftp_server);
$ftp_user = 'user';
$ftp_pass = 'password';
ftp_set_option($ftp_conn, FTP_TIMEOUT_SEC, 3600);
if(ftp_login($ftp_conn, $ftp_user, $ftp_pass)){
ftp_pasv($ftp_conn, true);
$images = ftp_nlist($ftp_conn, '/images/');
$c = 0;
foreach($images as $image){
$c = $c + 1;
echo "ftp://user:password@www2.housescape.org.uk:21".$image." / ";
$urltoget="ftp://user:password@www2.housescape.org.uk:21".$image;
echo $thefile=basename($image);
echo "<br>";
$content = file_get_contents("ftp://user:password@www2.housescape.org.uk:21".$image);
file_put_contents("/home/example/public_html/images/".$thefile, $content);
}
if ($count1>0) { echo "No File Change"; }
ftp_close($ftp_conn);
}
else{
echo 'Failed Login!';
}