如何获得图像的大小?

时间:2020-02-13 17:23:20

标签: php laravel

我有这个数组想要获取图像的大小:

$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 个答案:

答案 0 :(得分:1)

您的代码正在使用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的地方。

相关问题