php获取远程图片体积大小的实例

直接看代码吧,很好明白的


代码如下:

//用法 echo remote_filesize($url,$user='',$pw='');
$url = "http://www.aa.com/librarys/images/random/rand_11.jpg";//这里要换成你的图片地址
echo remote_filesize($url,$user='',$pw='');

function remote_filesize($uri,$user='',$pw='')
{
// start output buffering
    ob_start();
// initialize curl with given uri
    $ch = curl_init($uri); // make sure we get the header
    curl_setopt($ch, CURLOPT_HEADER, 1); // make it a http HEAD request
    curl_setopt($ch, CURLOPT_NOBODY, 1); // if auth is needed, do it here
    if (!empty($user) && !empty($pw))
    {
        $headers = array('Authorization: Basic ' . base64_encode($user.':'.$pw));
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    }
    $okay = curl_exec($ch);
    curl_close($ch); // get the output buffer
    $head = ob_get_contents(); // clean the output buffer and return to previous // buffer settings
    ob_end_clean();  // gets you the numeric value from the Content-Length // field in the http header
    $regex = '/Content-Length:\s([0-9].+?)\s/';
    $count = preg_match($regex, $head, $matches);  // if there was a Content-Length field, its value // will now be in $matches[1]
    if (isset($matches[1]))
    {
        $size = $matches[1];
    }
    else
    {
        $size = 'unknown';
    }
    $last_mb = round($size/(1024*1024),3);
 $last_kb = round($size/1024,3);
    return $last_kb . 'KB / ' . $last_mb.' MB';
}

函数的思路是,先CURL获取图片到缓冲区,然后正则获取图片的Content-Length信息就OK了。

(0)

相关推荐

  • python获取远程图片大小和尺寸的方法

    本文实例讲述了python获取远程图片大小和尺寸的方法.分享给大家供大家参考.具体分析如下: 这段代码通过urllib2打开远程图片,通过cStringIO读取文件内容,不用保存到磁盘即可读取图片文件的信息 #!/usr/bin/env python #encoding=utf-8 import cStringIO, urllib2, Image url = 'http://www.jb51.net/images/logo.gif' file = urllib2.urlopen(url) tmp

  • Objective C从远程url下载图片方法汇总

    Objective C从远程url下载图片 - (UIImage *) getImageFromURL: (NSString *)theURL { UIImage *theImage = NULL; NSString *imageFileName = [BT_strings getFileNameFromURL:theURL]; NSData *imageData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:theUR

  • php获取远程图片的两种 CURL方式和sockets方式获取远程图片

    方式1:sockets 复制代码 代码如下: $a = "http://jb51.net/content/uploadfile/201106/thum-f3ccdd27d2000e3f9255a7e3e2c4880020110622095243.jpg"; $local = 'socket1.gif'; $aa = getImg($a,$local); /* *@ 完整的图片地址 *@ 要存储的文件名 */ function getImg( $url = "", $

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

    如果要获取远程图片的大小,一种普遍的做法是先将远程图片的内容获取回来,再用strlen计算长度,这种方法需要将图片下载下来,然后才能计算.如果图片很大的话,那么网络传输就要花费不少时间,效率显然低下.笔者提供一个方法来提高效率,主要是利用http的头信息. 当访问网页的时候,服务器会返回请求的头信息,其中Content-Length表示请求的网页内容大小.如果请求的是图片,那么Content-Length就表示图片的大小.根据这个,只需要发送head请求获取返回的头信息就OK了.在php中,可以

  • PHP获取远程图片并保存到本地的方法

    本文实例讲述了PHP获取远程图片并保存到本地的方法.分享给大家供大家参考.具体实现方法如下: <?php function GrabImage($url, $filename = "") { if ($url == ""):return false; endif; //如果$url地址为空,直接退出 if ($filename == "") { //如果没有指定新的文件名 $ext = strrchr($url, "."

  • 用php获取远程图片并把它保存到本地的代码

    <?php function GrabImage($url,$filename="") {   if($url==""):return false;endif; if($filename=="") {     $ext=strrchr($url,".");     if($ext!=".gif" && $ext!=".jpg"):return false;endif

  • 使用C#获取远程图片 Form用户名与密码Authorization认证的实现

    C#获取远程图片,需要Form用户名和密码的Authorization认证 复制代码 代码如下: using System;using System.Collections.Generic;using System.Drawing;using System.IO;using System.Linq;using System.Net;using System.Text;using System.Web;using System.Web.UI;using System.Web.UI.WebContr

  • php获取远程图片体积大小的实例

    直接看代码吧,很好明白的 复制代码 代码如下: //用法 echo remote_filesize($url,$user='',$pw='');$url = "http://www.aa.com/librarys/images/random/rand_11.jpg";//这里要换成你的图片地址echo remote_filesize($url,$user='',$pw=''); function remote_filesize($uri,$user='',$pw=''){// star

  • PHP高效获取远程图片尺寸和大小的实现方法

     PHP高效获取远程图片尺寸和大小的实现方法 在这里分享一下自己的心得,希望和大家一起分享技术,如果有什么不足,还请大家指正.写出这篇目的,就是希望大家一起成长,我也相信技术之间没有高低,只有互补,只有分享,才能使彼此更加成长. 实现代码: /** * 获取远程图片的宽高和体积大小 * * @param string $url 远程图片的链接 * @param string $type 获取远程图片资源的方式, 默认为 curl 可选 fread * @param boolean $isGetF

  • php获取远程图片并下载保存到本地的方法分析

    本文实例讲述了php获取远程图片并下载保存到本地的方法.分享给大家供大家参考,具体如下: 远程图片指的是远端服务器上的数据我们可以通过php的许多函数来读取下载了,这里整理了两个可以自动下载远程图片并下载保存到本地的例子. 例1,可以自动识别图片类型然后进行对应的保存 /* *功能:php完美实现下载远程图片保存到本地 *参数:文件url,保存文件目录,保存文件名称,使用的下载方式 *当保存文件名称为空时则使用远程文件原来的名称 */ function getImage($url,$save_d

  • php利用curl获取远程图片实现方法

    curl要求php环境支持才行,可以运行phpinfo()函数是否支持,一般要将php.ini中;extension=php_curl.dll前的;去掉,重新启动IIS或者APACHE就可以了. 代码如下: /* *@通过curl方式获取指定的图片到本地 *@ 完整的图片地址 *@ 要存储的文件名 */ function getImg($url = "", $filename = "") { //去除URL连接上面可能的引号 //$url = preg_replac

  • JavaScript获取图片真实大小代码实例

    网页页面上的图片尺寸似乎都千篇一律.我们最常见到的带有多图的文章页面中,图的大小通常是和页面的宽度一致,这样看起来,页面就是一个直筒形,这样的布局看多了就会觉得很单调.之所以形成这样的局面,我想很大程度上是因为老式浏览器的限制.但随着现代浏览器(火狐/谷歌/IE11)的普及,浏览器对页面设计的限制越来越少,Web程序员的想象能力能够得到极大的发挥. 比如,冷知识:你知道每个视窗都有的 [x] 是怎么来的吗?这篇文章中,很多图片超出了文本宽度的限制,给人一种参差错落的感觉,同时,让大图片以其真实的

随机推荐