PHP Laravel 5.4确定DPI:jpg,png,psd,tiff,eps和ai

时间:2017-07-10 14:17:09

标签: php image

我正在尝试为以下文件扩展名确定DPI:

  • JPG
  • PNG
  • PSD
  • TIFF
  • AI
  • EPS

对于jpg,我使用以下工作:

$exif = \exif_read_data( $file->getPathname() );

if ( isset( $exif['XResolution'], $exif['YResolution'] ) ) {
    $resolutionX = \explode( '/', $exif['XResolution'] );
    $resolutionY = \explode( '/', $exif['YResolution'] );
    // defaults to 300 to make sure an image is not denied when DPI get not be determined
    $dpiX        = ( $resolutionX[0] ?? 300 ) / ( $resolutionX[1] ?? 1 );
    $dpiY        = ( $resolutionY[0] ?? 300 ) / ( $resolutionY[1] ?? 1 );
}

现在如何在不在我的服务器上安装其他软件的情况下对上述格式执行相同的操作?

更新 png也在工作。

1 个答案:

答案 0 :(得分:0)

您可以使用getimagesize()

http://php.net/manual/de/function.getimagesize.php

根据这个答案:https://stackoverflow.com/a/24853372/1568059它支持大多数扩展。

  

快速浏览一下php源代码,可以看出getimagesize()有   支持以下图像类型:

     

gif,jpeg,png,swf,psd,bmp,tiff,iff,jpc,jp2,jpx,jb2,xbm,ico

     

finfo_file支持更多mime类型,如duskwuff说。   在缺点方面,它还做了很多检查,这使得它有点   效率低下。