Как импортировать файл (изображения) с другого сайта?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Notad
Сообщения: 78
Зарегистрирован: 2015.10.03, 16:30

Как импортировать файл (изображения) с другого сайта?

Сообщение Notad »

Как импортировать файл (изображения) с другого сайта. Есть уже готовый функционал для загрузки файла с компьютера. Нужно просто както подменить файлы. Файл получаю через file_get_contents($link) . Как мне его передать в yii\web\UploadedFile ? Если правильно понял то нужно его сохранить где то а потом передавать в UploadedFile. Нет ли способа по проще?
Onotole
Сообщения: 1808
Зарегистрирован: 2012.12.24, 12:49

Re: Как импортировать файл (изображения) с другого сайта?

Сообщение Onotole »

если минимально

Код: Выделить всё

$file = file_get_contents('http://...');
file_set_contents('/path/to/new/image.ext');
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Как импортировать файл (изображения) с другого сайта?

Сообщение samdark »

Провалидировать только не забывайте.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Как импортировать файл (изображения) с другого сайта?

Сообщение zelenin »

Notad писал(а): 2017.02.02, 17:07 Как импортировать файл (изображения) с другого сайта. Есть уже готовый функционал для загрузки файла с компьютера. Нужно просто както подменить файлы. Файл получаю через file_get_contents($link) . Как мне его передать в yii\web\UploadedFile ? Если правильно понял то нужно его сохранить где то а потом передавать в UploadedFile. Нет ли способа по проще?
uploadedfile ведь куда-то файл сохраняет прежде чем в базу добавить? file_get_contents тоже сохраняет. и дальше функционал одинаковый.
Аватара пользователя
Йож
Сообщения: 574
Зарегистрирован: 2015.08.26, 03:05

Re: Как импортировать файл (изображения) с другого сайта?

Сообщение Йож »

И еще на наличие файл проверить нужно, иначе выпадет в exception.
Notad
Сообщения: 78
Зарегистрирован: 2015.10.03, 16:30

Re: Как импортировать файл (изображения) с другого сайта?

Сообщение Notad »

Спасибо всем. То есть мне все равно нужно сохранить файл перед тем как сохранять его вместе с моделью, а потом удалять. Я хотел как-то подменить файлы что бы не беспокоится о дальнейшем их удалении. Как это реализовано с временными файлами в tmp.
Аватара пользователя
Йож
Сообщения: 574
Зарегистрирован: 2015.08.26, 03:05

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);
    }
Ответить