Вмешательство изображения: сохранить изображение непосредственно из URL с оригинальным именем файла и Ext?

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

// Take remote image
$img = Image::make('http://image.info/demo.jpg');
// how to save in the img/original/demo.jpg
$img->save(????);

Я использую вмешательство, (http://image.intervention.io/api/make) для создания образа CakePHP 3 Поведение, я хочу обеспечить простую загрузку с удаленных серверов и сохранить исходное изображение в качестве источника для будущих манипуляций.

РЕДАКТИРОВАТЬ

Я спрашиваю, есть ли Изображение вмешательства метод, который возвращает имя файла, когда берется с удаленного сервера. Я знаю php copy (), я также могу использовать утилиты CakePHP File, но это дает мне дубликат запроса на удаленный файл.

10

Решение

response () не возвращает исходное имя файла, как запрашивал Salines. Это должно работать

$path = 'https://i.stack.imgur.com/koFpQ.png';
$filename = basename($path);

Image::make($path)->save(public_path('images/' . $filename));
19

Другие решения

Вы можете легко сделать это, используя make(); а также response(); методы. Проверьте мой код ниже.

Просто имейте в виду, что allow_url_fopen должен быть включен для получения удаленного изображения.

Это покажет мою фотографию профиля. Если вы не используете его с Laravel Framework, просто замените возврат на echo,

$img = Image::make('https://i.stack.imgur.com/koFpQ.png');
header('Content-Type: image/png');
return $img->response();

Надеюсь, что это поможет и поддержу мой ответ, если это будет полезно;)

Если вам нужна дополнительная помощь, просто спросите.

3

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector