Как получить размер изображения? - PullRequest
0 голосов
/ 13 февраля 2020

У меня есть этот массив, чтобы получить размер изображения:

$main_image = $product->images()->where('main_image', 1)->first();

if($main_image){
    $url = asset('uploads/products/'. $main_image['image']);

    $image[] = [
        "name"  => $main_image->image,
        "type"  => FileUploader::mime_content_type($main_image->image_path),

        "size"  => filesize($url),

        "file"  => $main_image->image_path,
        "local" => $main_image->image_path,
    ];
}

Я получил эту ошибку:

filesize(): stat failed for http://myapp.test/uploads/products/83QhiRFarGpV.jpeg 

Даже мое изображение существует в папке!:

enter image description here

Я перепробовал все варианты в этом one , но все равно та же самая ошибка!

1 Ответ

1 голос
/ 13 февраля 2020

Ваш код использует asset() для генерации $url:

http://myapp.test/uploads/products/83QhiRFarGpV.jpeg

Функция filesize() работает с локальными файлами, а не с URL-адресами.

filesize($main_image->image_path) должно работать, так как вы используете его в строке выше для получения типа файла.

Возможно, у вас также есть другая проблема с

   "file"  => $main_image->image_path,
   "local" => $main_image->image_path,

Где вы, вероятно, хотите, чтобы файл вместо $url.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...