Как получить имя файла при получении изображения с удаленного сервера? А как сохранить с оригинальным размером и именем файла?
// 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, но это дает мне дубликат запроса на удаленный файл.
response () не возвращает исходное имя файла, как запрашивал Salines. Это должно работать
$path = 'https://i.stack.imgur.com/koFpQ.png';
$filename = basename($path);
Image::make($path)->save(public_path('images/' . $filename));
Вы можете легко сделать это, используя 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();
Надеюсь, что это поможет и поддержу мой ответ, если это будет полезно;)
Если вам нужна дополнительная помощь, просто спросите.