Как импортировать файл (изображения) с другого сайта?
Как импортировать файл (изображения) с другого сайта?
Как импортировать файл (изображения) с другого сайта. Есть уже готовый функционал для загрузки файла с компьютера. Нужно просто както подменить файлы. Файл получаю через file_get_contents($link) . Как мне его передать в yii\web\UploadedFile ? Если правильно понял то нужно его сохранить где то а потом передавать в UploadedFile. Нет ли способа по проще?
Re: Как импортировать файл (изображения) с другого сайта?
если минимально
Код: Выделить всё
$file = file_get_contents('http://...');
file_set_contents('/path/to/new/image.ext');
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: Как импортировать файл (изображения) с другого сайта?
Провалидировать только не забывайте.
Нравится Yii? Давайте сделаем его лучше!.
Re: Как импортировать файл (изображения) с другого сайта?
uploadedfile ведь куда-то файл сохраняет прежде чем в базу добавить? file_get_contents тоже сохраняет. и дальше функционал одинаковый.Notad писал(а): ↑2017.02.02, 17:07 Как импортировать файл (изображения) с другого сайта. Есть уже готовый функционал для загрузки файла с компьютера. Нужно просто както подменить файлы. Файл получаю через file_get_contents($link) . Как мне его передать в yii\web\UploadedFile ? Если правильно понял то нужно его сохранить где то а потом передавать в UploadedFile. Нет ли способа по проще?
Re: Как импортировать файл (изображения) с другого сайта?
И еще на наличие файл проверить нужно, иначе выпадет в exception.
Re: Как импортировать файл (изображения) с другого сайта?
Спасибо всем. То есть мне все равно нужно сохранить файл перед тем как сохранять его вместе с моделью, а потом удалять. Я хотел как-то подменить файлы что бы не беспокоится о дальнейшем их удалении. Как это реализовано с временными файлами в tmp.
Re: Как импортировать файл (изображения) с другого сайта?
Проблемы сразу сохранить с удаленного сервера нет:
Проверить удаленный файл на наличие:
Код: Выделить всё
public function copyImage($image, $path)
{
$url = explode("/", $image);
$path_image = $path . array_pop($url);
if ($this->fileExists($image)) {
copy($image, $path_image);
return true;
} else {
return false;
}
}
Код: Выделить всё
public function fileExists($path)
{
return (@fopen($path, "r") == true);
}