如何在Laravel框架中获得图像的宽度和高度?

wlp8pajw  于 2023-01-27  发布在  其他
关注(0)|答案(7)|浏览(352)

在这张图中,

我可以在目录中获得映像的widthheight
但是我想在上传图片之前得到图片的宽度和高度。
我怎样才能做到这一点?

bq8i3lrv

bq8i3lrv1#

$data = getimagesize($filename);
 $width = $data[0];
 $height = $data[1];
ftf50wuq

ftf50wuq2#

通过介入图像,您可以将其作为

$upload_file = $request->file('gallery_image');
$height = Image::make($upload_file)->height();
$width = Image::make($upload_file)->width();
fsi0uk1n

fsi0uk1n3#

[$width, $height] = getimagesize($filename);
yhxst69z

yhxst69z4#

运行

composer require intervention/image

然后将此添加到您的config/app.php中

return [
       ......
       $providers => [
          ......,
          'Intervention\Image\ImageServiceProvider'
       ],
       $aliases => [
          ......,
          'Image' => 'Intervention\Image\Facades\Image'
       ]
 ];

然后像这样使用。

$upload_file = $request->file('gallery_image');
$height = Image::make($upload_file)->height();
$width = Image::make($upload_file)->width();
oxf4rvwz

oxf4rvwz5#

您可以使用

<?php
$imagedetails = getimagesize($_FILES['file-vi']['tmp_name']);

$width = $imagedetails[0];
$height = $imagedetails[1];

?>
u1ehiz5o

u1ehiz5o6#

如果你使用的是s3或者其他非本地的文件系统,你可以使用getimagesize($url)。laravel Storage::disk('s3')->url($file_path)可以提供url,但是你的s3必须配置为public。任何url/文件路径都可以。

yftpprvb

yftpprvb7#

如果您不想安装intervention/image软件包,请使用此函数:

/**
     * Get file dimension
     * @param  \Illuminate\Http\UploadedFile $file
     * @return array
     */
    public function getFileDimension(UploadedFile $file): array
    {
        $size = getimagesize($file->getRealPath());

        return [
            'width'     => $size[0] ?? 0,
            'height'    => $size[1] ?? 0,
        ];
    }

相关问题