【问题标题】:get_headers takes too much time for checking size of imageget_headers 检查图像大小需要太多时间
【发布时间】:2013-12-20 15:57:59
【问题描述】:

您好,我正在使用下面的代码来检查远程图像的大小。它可以工作,但是检查图像的大小需要很多时间,有没有更好的方法可以做

<?php
  $url='http://testfile.com/test/sddkssk.jpg';
  $head = array_change_key_case(get_headers($url, TRUE));
  $filesize = $head['content-length'];
  if ($filesize >= 131000) {     
    echo 'good image';
  }

但每次加载需要 2-3 分钟,有没有更好的方法可以非常快速地完成相同的工作

【问题讨论】:

  • 图片有多大?远程服务器是否可能不理解仅对标头的请求?在浏览器中发出请求会更快吗?
  • @Pekka웃 这个脚本在浏览器中也很慢,但是当我们直接将图像 url 粘贴到浏览器中时,所有图像加载速度很快
  • 分析您的代码并查看确切瓶颈在哪里。你确定是get_headers吗?
  • 如果浏览器也很慢,那么很可能是远程服务器的问题?你可能无能为力。

标签: php get-headers


【解决方案1】:
$size = getimagesize("http://www.example.com/gifs/logo.gif");

// if the file name has space in it, encode it properly
$size = getimagesize("http://www.example.com/gifs/lo%20go.gif");

【讨论】:

  • 是的,它是混合类型的文件空间很少,很少有它不存在。你能在我的代码中解释一下如何做到这一点
  • 这将首先加载整个文件。即使加载只是标题,它也不会帮助遇到问题的OP
猜你喜欢
  • 1970-01-01
  • 2019-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-05
  • 1970-01-01
相关资源
最近更新 更多