当前位置:  编程技术>php

php查看请求头信息获取远程图片大小的方法分享

    来源: 互联网  发布时间:2014-08-26

    本文导语:  如果要获取远程图片的大小,一种普遍的做法是先将远程图片的内容获取回来,再用strlen计算长度,这种方法需要将图片下载下来,然后才能计算。如果图片很大的话,那么网络传输就要花费不少时间,效率显然低下。笔者提...

如果要获取远程图片的大小,一种普遍的做法是先将远程图片的内容获取回来,再用strlen计算长度,这种方法需要将图片下载下来,然后才能计算。如果图片很大的话,那么网络传输就要花费不少时间,效率显然低下。笔者提供一个方法来提高效率,主要是利用http的头信息。

当访问网页的时候,服务器会返回请求的头信息,其中Content-Length表示请求的网页内容大小。如果请求的是图片,那么Content-Length就表示图片的大小。根据这个,只需要发送head请求获取返回的头信息就OK了。在php中,可以通过fsockopen方法获取头信息。代码如下:

代码如下:

$fp = fsockopen("www.baidu.com", 80, $errno, $errstr, 30);
if ($fp) {
    //这里请求设置为HEAD就行了
    $out = "HEAD /img/baidu_sylogo1.gif HTTP/1.1rn";
    $out .= "Host: www.baidu.comrn";
    $out .= "Connection: Closernrn";
    fwrite($fp, $out);
    while (!feof($fp)) {
        $header = fgets($fp);
        if (stripos($header, 'Content-Length') !== false) {
            $size = trim(substr($header, strpos($header, ':') + 1));
            echo $size;
        }
    }
    fclose($fp);
} else {
    echo "$errstr ($errno)";
}

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

小结:

php里也可以使用get_headers来获取头信息,不过笔者测试过这个函数,是GET请求,详情参考:php函数get_headers是HEAD请求还是GET请求。

另外有的服务器可能会屏蔽HEAD请求,如果被屏蔽了,就只能老老实实用GET请求了。如果要这样做的话,可以直接用现成的函数getimagesize。


    
 
 

您可能感兴趣的文章:

  • php函数get_headers是HEAD请求或GET请求
  • php 异步请求文件实现多线程的代码
  • php使用请求头信息获取远程图片大小
  • php表单请求获得数据求和示例
  • PHP请求http(file_get_content)示例
  • PHP实现取得HTTP请求的原文
  • php发送post请求函数分享
  • PHP curl修改网站请求头
  • PHP开发框架kohana中处理ajax请求的例子
  • PHP中模拟处理HTTP PUT请求的例子
  • PHP多线程异步请求的3种实现方法
  • 实现PHP多线程异步请求的3种方法
  • php发送post请求的三种方法示例
  • php获取网页请求状态示例分享
  • php如何模拟处理http put请求?实例教程
  • php处理restful请求的路由类分享
  • php发送post请求的三种方法
  • php实例获取网页请求状态
  • php发送get、post请求的6种方法简明总结
  • php获取网页请求状态程序示例
  • php获取访客ip地址原理及提供七段代码供参考
  • mysql iis7站长之家
  • PHP获取php、mysql与apache版本
  • PHP获取php,mysql,apche的版本信息示例代码
  • php获取字段名的代码
  • php获取当前时间的毫秒数
  • PHP实现获取图片颜色值的方法
  • php反射机制获取php类的所有方法
  • PHP数组根据值获取Key的简单示例
  • php获取文件大小的二种方法
  • php求两个目录的相对路径示例(php获取相对路径)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • 如何修改PHP+Apache上传文件大小限制
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • php比较绝对时间的大小示例
  • PHP上传文件大小限制二种解决方法
  • 如何突破php上传文件大小限制
  • php比较两个绝对时间的大小
  • php根据操作系统转换文件名大小写的方法
  • 修改PHP上传文件大小限制
  • 修改Nginx+PHP上传文件大小限制
  • 用PHP来计算某个目录大小的方法
  • nginx:413 Request Entity Too Large的处理办法--修改 PHP上传文件大小
  • PHP 上传文件大小限制修改
  • php实现批量压缩图片文件大小的脚本
  • php获取文件大小的方法
  • apache+php上传文件大小限制修改方法
  • PHP英文字母大小写转换函数
  • php按比例计算图片大小的代码
  • PHP英文字母大小写转换函数小结
  • PHP与Nginx文件上传大小限制如何解决
  • PHP遍历目录并返回统计目录大小
  • PHP 5.4.19 和 PHP 5.5.3 发布及下载地址
  • IIS7配置PHP图解(IIS7+PHP_5.2.17/PHP_5.3.5)
  • PHP去除html标签,php标记及css样式代码参考
  • php输入流php://input使用示例(php发送图片流到服务器)
  • PHP 'ext/soap/php_xml.c'不完整修复存在多个任意文件泄露漏洞
  • PHP转换器 HipHop for PHP
  • php通过socket_bind()设置IP地址代码示例
  • PHP 框架 Pop php
  • php安装完成后如何添加mysql扩展
  • PHP的JavaScript框架 PHP.JS


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3