php 获取远程文件的大小

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// 获取远程文件的大小
function remote_filesize($url, $user = "", $pw = "")
{
    ob_start();
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_HEADER, 1);
    curl_setopt($ch, CURLOPT_NOBODY, 1);
  
    if(!empty($user) && !empty($pw))
    {
        $headers = array('Authorization: Basic ' base64_encode("$user:$pw"));
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    }
  
    $ok = curl_exec($ch);
    curl_close($ch);
    $head = ob_get_contents();
    ob_end_clean();
  
    $regex = '/Content-Length:\s([0-9].+?)\s/';
    $count = preg_match($regex, $head, $matches);
  
    return isset($matches[1]) ? $matches[1] . " 字节" : "unknown";
}
 
// 实例测试
echo remote_filesize("http://img105.job1001.com/upload/adminnew/2014-10-14/1413272802-SEILFHG.jpg");