我有这个数组想要获取图像的大小:
$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
即使我的图像也存在于文件夹中!:
我尝试了此one中的所有选项,但还是有同样的错误!
答案 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
的地方。