Как добавить к php коду для скачивания файла проверку существует файл или нет?
Например при таком ответе сервера:
HTTP/1.1 404 Not Found
Server: nginx/1.10.2
Date: Fri, 25 May 2018 16:16:21 GMT
Content-Type: text/html
Content-Length: 3652
Connection: keep-alive
ETag: "58173b0b-e44"
Файл всё равно создаётся на сервере в виде изображения с размером 3652 кб
Но это в итоге не изображение, а битый файл получается.
Как сделать проверку, и если 404 то пропускать такой файл и не сохранять на сервере?
/**
* Получить и сохранить файл
*
* @param string $url - ссылка на файл
* @param string $path - путь для сохранения файла
* @param string $fileName - не обязательный параметр, имя файла для сохранения
*
* @return bool - результат
*/
function getAndSaveFile($url, $path, $fileName = false) {
// открываем содержимое файла
$file = @file_get_contents($url);
// если не удалось получить файл вернем false
if(!$file) return false;
// получаем имя файла, если не задано, то берем из урла
if(!$fileName) $fileName = basename($url);
// сохраняем файл
$resultSave = @file_put_contents($path.$fileName, $file);
// проверяем результат сохранения
if ($resultSave || $resultSave > 0) return true;
return false;
}
var_dump(getAndSaveFile("http://vk-book.ru/img/codirovka.png", './files/'));