У меня есть CSV с примерно 50000 изображений. В CSV-файле у меня есть столбец для каждого имени изображения и столбец для фактического URL-адреса изображения. Код очищает пробелы, апострофы и запятые и заменяет пробелы черточками, чтобы имена изображений были удобнее для чтения, а также более удобными для SEO, так как исходные имена изображений представляют собой комбинацию букв и цифр.
Подход, который я использую, заключается в размещении кода в таблице стилей, поэтому для его активации я перехожу к https://mysite/stylesheet.php. Как только сервер загружает около 600 - 700 изображений, я в конечном итоге получаю ошибку 500.
Как лучше всего загрузить эти 50К-образы на сервер без тайм-аута? Нет, у меня нет прямого доступа к серверу, это настройка Hostgator Cloud Business. Я уже увеличил объем памяти PHP до 1 ГБ с 256 МБ, и это совсем не помогло.
Код указан ниже:
<?php
$filename = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'photo.csv';
$file = fopen($filename, 'r');
while (($line =fgetcsv($file)) !== FALSE)
{
$name = $line[0];
$url = $line[1];
$str = $name;
$str = str_replace(' ' , '-', strtolower($str));
$str = str_replace('\'' , '' , $str);
$str = str_replace(',' , '' , $str);
$img = 'mtg/images/'.$str.'.jpg';
$img_path = dirname(__FILE__) . DIRECTORY_SEPARATOR . $img;
file_put_contents($img_path, file_get_contents($url));
}
fclose ($file); ?>