不使用 Image Magick 检查图像类型和压缩
我有点陷入困境。
我需要编写一个脚本来遍历图像文件夹(在由不同部门维护的服务器上)并检查它们是否都是未压缩的 TIF。我们的本地盒子安装了 Image Magick,但此服务器没有不是。该服务器的负责人没有提供任何帮助(当我上周请求 shell 访问时,他回答说,“这是一个 Windows 服务器,所以……不”,就好像 SSH 是依赖于平台的一样),所以我需要一个解决方法。
有没有一种方法可以在不使用Image Magick的情况下检查压缩和文件类型(除了直接删除扩展名之外)?
I'm in a bit of a bind.
I need to write a script that goes through a folder of images (on a server maintained by a different department) and check that they're all uncompressed TIFs. Our local boxes have Image Magick installed, but this server does not. The person in charge of this server is no help (when I requested shell access last week, he replied, "It's a Windows server so...no" as if SSH is platform-dependent) so I need a work-around.
Is there a way to check compression and file type (short of just chopping off the extension) without Image Magick?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
嗯,是的,但是您需要访问 ImageMagick 或 GD 之外的其他东西。首先,确保您的服务器上也没有 GD,因为这也可以解决您的问题。
使用 GD 你可以这样做: http://php.net/manual/en/function。 getimagesize.php
如果服务器没有 GD,您可能需要使用其他 Web 服务(并将图像发送给它)或执行 shell 命令,使用安装在服务器上的其他图像工具服务器。
Well, yes, but you'd need to access something else than ImageMagick or GD. First, make sure that you don't have GD on the server as well, since that too would solve your problems.
Using GD you'd do: http://php.net/manual/en/function.getimagesize.php
If the server hasn't got GD either you'd probably need to either use some other web service (and send the image to it) or execute a shell command, using some other image tool installed on the server.
您可以读取前 X 个字节(通常是 8)来获取文件的幻数,并且您可以选择读取头文件,查找 TIF 信息。查看 TIF 的文件格式规范。
ps 如果有必要,我会为您提供示例。 :)
You can read the first X bytes (usually 8) to get the magic number of the file and optionally you can read the header files, looking for TIFs information. Take a look at TIF's file format specifications.
p.s. I will provide you with example if necessary. :)