在 PHP 或 Unix 命令行中确定图像分辨率和文件类型的最快方法?
Fastest way to determine image resolution and file type in PHP or Unix command line?我目前正在使用 ImageMagick 来确定上传到网站的图像的大小。通过在命令行上调用 ImageMagick\\'s "identify",大约需要 0.42 秒来确定 1MB JPEG\\ 的尺寸以及它是 JPEG 的事实。我觉得这有点慢。 使用 Imagick PHP 库甚至更慢,因为它会在对图像进行任何处理之前尝试将整个 1MB 加载到内存中(在这种情况下,只需确定其大小和类型)。 是否有任何解决方案可以加快确定任意图像文件的文件类型和尺寸的过程?我可以忍受它只支持JPEG和PNG。对我来说重要的是文件类型是通过查看文件的标题而不是扩展名来确定的。 编辑:解决方案可以是一个由 PHP 调用的命令行工具 UNIX,很像我现在使用 ImageMagick 的方式 如果你使用支持 GD 的 PHP,你可以试试 getimagesize()。 你试过了吗
? 抱歉,我无法将此作为评论添加到先前的答案,但我没有代表。进行一些快速而肮脏的测试,我还发现 exec("identify -ping... 比没有 -ping 时快 20 倍左右。但 getimagesize() 似乎仍然快 200 倍左右。 所以我会说 getimagesize() 是更快的方法。我只测试了 jpg 而不是 png. 测试只是
实际上,使用getimagesize(),你不需要编译GD。 您也可以使用 mime_content_type() 来获取 MIME 类型。
为此,您可以使用 'file' unix 命令(或者实现相同功能的一些 php 函数)。
exif_imagetype() 比 getimagesize() 快。 $filename ="一些文件"; 输出:
如果您使用的是 PHP,我建议您使用 Imagick 库而不是调用 |
相关内容
-
win10多任务按键怎么设置在底部详细方法
win10多任务按键怎么设置在底部详细方法,按键,任务,在使用电脑...
-
分辨率切换快捷键|切换屏幕分辨率快捷键
分辨率切换快捷键|切换屏幕分辨率快捷键,,1. 切换屏幕分辨率快...
-
设置里程碑|设置里程碑的方法有哪些
设置里程碑|设置里程碑的方法有哪些,,1. 设置里程碑的方法有哪...
-
Outlook的PST文件损坏的修复方法
Outlook的PST文件损坏的修复方法,文件, ...
-
手提电脑手写怎么设置|电脑手写设置方法
手提电脑手写怎么设置|电脑手写设置方法,,电脑手写设置方法看...
-
打印机常见故障排除方法HP5000打印机为例
打印机常见故障排除方法HP5000打印机为例,,HP 50005100打印机...
-
手机版wps里如何给字加拼音|wps在文字上加拼音
手机版wps里如何给字加拼音|wps在文字上加拼音的方法wps怎么...
-
ps3设置分辨率|ps3怎么调节分辨率
ps3设置分辨率|ps3怎么调节分辨率,,1. ps3怎么调节分辨率是游...
-
小编辑器教你减少计算机网络流量的最简单方法
小编辑器教你减少计算机网络流量的最简单方法,,核心提示:教你如...
-
Android手机模拟器的安装方法_模拟器安装教程在
Android手机模拟器的安装方法_模拟器安装教程在计算机技能,,核...
-
如何升级路由器的路由器升级_192.168.1.1鲜为人
如何升级路由器的路由器升级_192.168.1.1鲜为人知的方法,,核心...
-
电脑装cpu风扇全过程|电脑cpu风扇安装方法
电脑装cpu风扇全过程|电脑cpu风扇安装方法,,1. 电脑cpu风扇安...
-
买电脑怎么知道分辨率|怎么判断电脑分辨率
买电脑怎么知道分辨率|怎么判断电脑分辨率,,怎么判断电脑分辨...
-
电脑硬盘启动设置教程|电脑硬盘启动设置方法
电脑硬盘启动设置教程|电脑硬盘启动设置方法,,1. 电脑硬盘启动...
-
先科电脑显示器无信号|先科显示器使用方法
先科电脑显示器无信号|先科显示器使用方法,,1. 先科显示器使用...