php 获取远程文件大小

3169 1
LZH实名认证 2022-4-9 19:36:33 | 显示全部楼层 |阅读模式
以下实例我们使用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("http://www.runoob.com/wp-content/themes/runoob/assets/img/runoob-logo@2x.png");
?>
以上实例输出结果为:

8416 字节
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2026 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行