>  기사  >  백엔드 개발  >  php使用请求头信息获取远程图片大小

php使用请求头信息获取远程图片大小

WBOY
WBOY원래의
2016-07-25 08:55:12932검색
  1. $fp = fsockopen("www.baidu.com", 80, $errno, $errstr, 30);
  2. if ($fp) {
  3. //这里请求设置为HEAD就行了
  4. $out = "HEAD /img/baidu_sylogo1.gif HTTP/1.1\r\n";
  5. $out .= "Host: www.baidu.com\r\n";
  6. $out .= "Connection: Close\r\n\r\n";
  7. fwrite($fp, $out);
  8. while (!feof($fp)) {
  9. $header = fgets($fp);
  10. if (stripos($header, 'Content-Length') !== false) {
  11. $size = trim(substr($header, strpos($header, ':') + 1));
  12. echo $size;
  13. }
  14. }
  15. fclose($fp);
  16. } else {
  17. echo "$errstr ($errno)";
  18. }
复制代码

和发起GET请求一样,只需要将请求类型GET设置为HEAD就可以了。 请求的主机和路径,修改成自己需要的即可。

小结: php也可以使用get_headers来获取头信息,测试过这个函数,是GET请求,详情参考:php函数get_headers是HEAD请求或GET请求 。 另外,有的服务器可能会屏蔽HEAD请求,如果被屏蔽了,就只能用GET请求了。

如此,可以直接用现成的函数getimagesize来取得图片的大小。



성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.