Скачать и сохранить файл с сайта

Рецепт №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, с помощью которой можно получить имя и расширение файла из указанного пути.

Рассказать друзьям:


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*