Я пытаюсь получить размеры файла изображения, который успешно загружается в мою папку public / images, которая правильно вставлена через Laravel в папку storage / public.Я использую функцию PHP getimageinfo
.
Для хранения файла я использовал встроенный ->store('pathtodirectory', 'public')
, чтобы сохранить файл на работающем сервере.Он правильно возвращает путь / имя файла, связанный с изображением, и правильно сохраняет файл, который я могу подтвердить и просмотреть.
Однако!Когда я пытаюсь использовать функцию getimageinfo
, она говорит мне «не удалось открыть поток: нет такого файла или каталога».Я попытался использовать функции Storage::url
и storage_path
, чтобы получить путь к файлу и передать его в getimageinfo
.Я также попытался использовать функцию Laravel asset
.Ничего не работает.
Что мне не хватает?
Код:
$photo = $request->file('image');
$imageFilePath = $photo->store('images', 'public');
$imageDimensions = getImageSize(Storage::url($imageFilePath));<--Fails here
My config / filesystems.php:
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
's3' => [
'driver' => 's3',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION'),
'bucket' => env('AWS_BUCKET'),
'url' => env('AWS_URL'),
],
],