php获取远程文件大小就需要用到curl来访问远程文件,然后返回文件大小单位为字节。
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 28 | <?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" ); ?> |
以上实例输出结果为: