使用PHP实现文件下载,为何下载框中无法获取下载文件的大小的?
ringa_lee
ringa_lee 2017-04-10 18:03:51
[PHP讨论组]

自己按照网上方法实现了一个文件下载的例子代码如下

<?php
    $file = './img/fang.jpg';
    $mode = 'r';
    $finfo = new Finfo(FILEINFO_MIME_TYPE);
    $mime = $finfo->file($file);
    header('Content-Type:'.$mime);
    
    header('Content-Length:'.filesize($file));
    header('Content-Disposition:Attachment;filename='.basename($file));
    
    
    $handle = fopen($file, $mode);
    while(!feof($handle)){
        echo fgets($handle, 1024);
    }
    fclose($handle);
?>

为何用浏览器访问上面这个脚本代码时,弹出来的下载框中,文件大小这一信息总是未知?是不是哪里还需要设置?求大神指点下,谢谢

ringa_lee
ringa_lee

ringa_lee

全部回复(1)
迷茫
//这个没问题
$file = 'sf.jpg';
if (file_exists($file)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename="'.basename($file).'"');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    readfile($file);
    exit;
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号