У меня есть приложение Laravel 4, которое отображает изображения из другого приложения PHP, расположенного на удаленном сервере.Как кэшировать изображения с url в Laravel
Я хотел бы знать, что является лучшим решением для кеширования изображений с удаленного сервера в моем локальном приложении Laravel.
Пожалуйста, обратите внимание, что это практически невозможно копировать/прошлое каталога целиком изображений с удаленного сервера, так как есть более 150К изображения, которые regurlary обновляются (каждые минут), и существует корреляция базы данных слишком (имя файла с значение столбца в базе данных).
Я собирался использовать Rsync
для синхронизации двух каталогов (удаленных от локальных), но мне также необходимо изменить размер изображений перед их отображением и организовать подкаталоги изображений по-другому, чем на удаленном сервере.
Сначала я установил Intervention Image Class пакет на Laravel и я создал Route
:
Route::get('photos/item/{size}/{reference}/{photo}', '[email protected]');
И в ImgController
:
public function showImg($size, $reference, $photo)
{
switch ($size) {
case '300x225':
$jpg = Image::make('http://myremoteapp.com/uploads/' . $reference . '/' . $photo)->resize(300, 225)->response('jpg');
break;
}
return $jpg;
}
Это работает, но он не сохраняет изображения в кеш браузера, а также создает проблему с производительностью, поскольку изображения нужно загружать и изменять каждый раз при открытии страницы.
Я слышал о Intervention Image Cache, но я не уверен, что он работает с изображениями, сделанными из URL-адресов.
Любые советы и предложения относительно того, как правильно решить этот вопрос, будут очень признательны.