![]() |
1
5
getimagesize() 是您想要的功能。
编辑:对于您的问题,更直接的回答是,Curl无法直接分析图像,但它肯定可以为您提取图像,在这种情况下,您可以使用GD库对其进行分析。不过,getimagesize()也会进行抓取,因此可以将Curl排除在等式之外。 |
![]() |
2
4
希望这篇单独的帖子是有理由的,因为我担心这个答案会因为只是对我上一篇帖子的评论而丢失。你会问,为什么你认为这值得一个单独的帖子呢?嗯,我想我找到了答案。
在上面的示例中,CURL使用-r标志仅请求文件的前25个字节,并将其发送到名为IDENTIFY的imagemagick命令,从中提取尺寸并以指定格式打印出来。 有关您可以使用IDENTIFY提取的信息的更多信息,请访问 http://www.imagemagick.org/script/identify.php 为了使命令对脚本更加友好,我将在末尾添加“2>/dev/null”以抑制错误消息(stderr):
与GIF图像不同,GIF图像的尺寸似乎与前10-20个字节紧密相连,从JPEG获取尺寸数据似乎不需要固定数量的字节。更多的测试表明,对于大型图像,您可能需要请求高达前10k的数据才能获取维度数据。一个很好的例子是美国宇航局提供的以下4MB图像: http://veimages.gsfc.nasa.gov/17921/southern_africa_25jul02_lrg.jpg 我发现不少于5971字节将呈现维度(10836 x 9324),但我想这比下载整个内容要好。 重点是…你的里程数可能会有所不同,所以你自己试试吧。 |
![]() |
3
1
图像的高度和宽度是图像文件中的属性,您需要重设文件才能访问它们。根据图像格式,此属性将位于图像元数据的不同位置。可以使用getimagesize执行此操作,但请记住,您实际上是在检索完整图像,这将影响操作的性能。 如果图像较大,您可以尝试将图像传送到服务器,并在开始接收数据并了解图像格式后,等待从图像接收到足够的高度和宽度信息并停止传输。您很可能需要自己完成这项工作,因为API中的图像库和内置函数可能希望完整图像能够正常工作。 如果您碰巧控制了图像所在的服务器,那么最好编写一个托管在该服务器上的小脚本,给定图像文件标识符,该脚本将返回该图像的高度和宽度。 |
![]() |
4
1
我不能那样做。引用 http://curl.haxx.se/
你可以使用 Python Imaging Library 但在下载图像时实际检查尺寸。 |
![]() |
5
1
可以 很好,你能完成你想做的事情。现在关键是能够将部分图像传递给GD(或您选择的应用程序)之类的东西,以提取和报告图像尺寸。 如果您只使用JPEG,那么您的生活会变得更轻松,因为尺寸标注存储在文件头的开头,并带有指定的标记。请参阅stackoverflow上的另一个讨论,标题为,“ Getting Image size of JPEG from its binary ". 虽然它需要更多的工作,但它似乎可以让您找到正确的标记:
|
![]() |
Karlo · PHP Sqlite PDO最新版本 4 月前 |
![]() |
Malte · 检查远程服务器上是否存在文件(使用PHP)[关闭] 4 月前 |
![]() |
Bard.Mus · 迁移后的数据库字符集环境 4 月前 |