首页 / 知识
在 PHP 或 Unix 命令行中确定图像分辨率和文件类型的最快方法?
2023-04-17 00:59:00

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 库而不是调用 |
最新内容
相关内容
纯命令行linux服务器?
纯命令行linux服务器?,密码,服务,系统,命令,终端,地址,百度,情况,状态,公共,在linux下如何访问服务器首先,连接相应linux主机,进入到linux命令行linux中同步命令行?
linux中同步命令行?,时间,系统,服务,图片,统一,中国,信息,命令,界面,硬件,LINUX时间同步脚本或命令!1、命令格式:ntpdate 时间服务器 用法示例:$linuxvim命令行?
linuxvim命令行?,系统,代码,模式,入口,基础,环境,命令,文件,编辑,文本,Linux基础-vim模式1、普通模式用的编辑器命令,比如移动光标,删除文本等等linux提交程序命令行?
linux提交程序命令行?,工作,系统,信息,地址,工程,目录,管理,环境,命令,功能,Linux系统常用操作命令有哪些linux常用命令: pwd命令 该命令的英linux复制几行命令行?
linux复制几行命令行?,系统,位置,基本知识,设备,软件,文件,命令,源文件,连续,目录,linux使用命令行将一个文件的某一行复制到另一个文件中上述linux本地ip命令行?
linux本地ip命令行?,地址,网络,系统,信息,电脑,状态,中心,设备,名称,数字,查看ip地址的cmd命令(关于如何在linux中查看ip地址的教程)linux怎么linux设备加载命令行?
linux设备加载命令行?,设备,系统,信息,数字,首页,软件,密码,终端,文件,键盘,Linux如何进入纯命令行界面?打开linux系统,在linux的桌面的空白处linux清理内存命令行?
linux清理内存命令行?,策略,数据,系统,名称,不了,管理,情况,工作,一致,时间,linux如何清理内存Linux虽然是会自动释放内存的,可是有的时候却。linux命令行显示路径?
linux命令行显示路径?,系统,数据,信息,命令,工作,时间,标准,文件,目录,名称,linux中查看文件和目录的命令是什么1、在Linux系统中,使用ls命令可linux命令行加载中文?
linux命令行加载中文?,名称,系统,不了,传播,网上,状态,管理,中文,终端,命令,Linux的终端命令行模式下如何显示中文?解决方法其实很简单的,即把xlinux合并行命令行?
linux合并行命令行?,工作,系统,地址,信息,文件,代码,目录,命令,功能,内容,Linux怎么用命令合并多个文件为一个1、将两个文件filetxt和filetxtlinux命令行网口速率?
linux命令行网口速率?,网络,地址,数据,设备,一致,工具,网址,分析,工作,电脑,linuxrs485dp串口设置速率一般像是232以及485这样的串口总线,它们