PHP 获取远程文件大小的3种解决方法

来源:www.13sc.com | 游客上传 | 240 次浏览 | 0 条评论

搜索: PHP 远程文件 大小 

以下是对PHP中获取远程文件大小的3种解决方法进行了详细的介绍,需要的朋友参考下

1、使用file_get_contents()
复制代码 代码如下:

<?php
$file = file_get_contents($url);
echo strlen($file);
?>

2. 使用get_headers()
复制代码 代码如下:

<?php
$header_array = get_headers($url, true);
$size = $header_array["!!Content-Length"!!];
echo $size;
?>

PS:
需要打开allow_url_fopen!
如未打开会显示
Warning: get_headers() [function.get-headers]: URL file-access is disabled in the server configuration
3.使用fsockopen()
复制代码 代码如下:

<?php
 function get_file_size($url) {
     $url = parse_url($url);

     if (empty($url["!!host"!!])) {
         return false;
     }

     $url["!!port"!!] = empty($url["!!post"!!]) ? 80 : $url["!!post"!!];
     $url["!!path"!!] = empty($url["!!path"!!]) ? "!!/"!! : $url["!!path"!!];

     $fp = fsockopen($url["!!host"!!], $url["!!port"!!], $error);

     if($fp) {
         fputs($fp, "GET " . $url["!!path"!!] . " HTTP/1.1 ");
         fputs($fp, "Host:" . $url["!!host"!!]. " ");

         while (!feof($fp)) {
             $str = fgets($fp);
             if (trim($str) == "!!"!!) {
                 break;
             }elseif(preg_match("!!/Content-Length:(.*)/si"!!, $str, $arr)) {
                 return trim($arr[1]);
             }
         }
         fclose ( $fp);
         return false;
     }else {
         return false;
     }
 }
 ?>

标签: PHP 远程文件 大小

最热-php应用

几篇关于无限分类算法的文章第1/5页

使用apache模块rewrite_module (转)

实用PHP会员权限控制实现原理分析

php中禁止单个IP与ip段访问的代码小结

不错的PHP学习之php4与php5之间会穿梭一点点感悟

PHP XML操作的各种方法解析(比较详细)

php数组函数序列之in_array() 查找数组值是否存在

木翼下载系统中说明的PHP安全配置方法

PHP下通过系统信号量加锁方式获取递增序列ID

php HtmlReplace输入过滤安全函数

php生成随机密码的三种方法小结

php将fileterms函数返回的结果变成可读的形式

Copyright 2009-2013 13sc.com All Rights Reserved.