php获取远程文件大小就需要用到curl来访问远程文件,然后返回文件大小单位为字节。
<?php // 获取远程文件大小函数 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("https://www.wdzzz.com/logo.png"); ?>
以上实例输出结果为:
8416 字节