Рецепт №70. Из книги «128 рецептов php»
Перейти к оглавлению
После проверки существования удаленного файла, описанной в предыдущем примере, файл можно скачать и сохранить к себе на сервер – об этом и будет рецепт.
Для получения удаленного файла воспользуемся функцией file_get_contents. А для сохранения его на сервер — функцией file_put_contents.
Пример:
// два примера использования getAndSaveFile( "http://vk-book.ru/img/favicon.png", './files/' ); getAndSaveFile( "http://vk-book.ru/img/favicon.png", './files/', 'name_file.png' ); /** * Получить и сохранить файл * * @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; }
В примере, помимо функций для получения и сохранения файла, была использована функция – basename, с помощью которой можно получить имя и расширение файла из указанного пути.