首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[函数]下载文件函数

发布于 2024-06-06 18:48:26
0
424

下载文件函数,用的地方挺多的。


function file_download($file_url, $new_name = '')
{
    if (!isset($file_url) || trim($file_url) == '') {
        exit('download file 500');
    }
    if (!file_exists($file_url)) {
//检查文件是否存在
        exit('download file 404');
    }
    $file_type = explode('.', $file_url);
    $file_type = $file_type[count($file_type) - 1];
    $file_name = date('YmdHis') . '.' . $file_type;
    //basename($file_url);
    $file_name = trim('' == $new_name) ? $file_name : urlencode($new_name) . '.' . $file_type;
    //打开文件
    $file_data = fopen($file_url, 'r');
    $file_size = filesize($file_url);
    //@ob_clean();
    //输入文件标签
    header("Content-type: application/octet-stream");
    header("Accept-Ranges: bytes");
    header("Content-Length: " . $file_size);
    header("Content-Disposition: attachment; filename=\"{$file_name}\"");
    //输出文件内容
    $buffer       = 1024;
    $buffer_count = 0;
    while (!feof($file_data) && $file_size - $buffer_count > 0) {
        $data = fread($file_data, $buffer);
        $buffer_count += $buffer;
        echo $data;
    }
    //echo fread($file_type, filesize($file_url));
    fclose($file_data);
    exit();
}
评论
一个月内的热帖推荐
道亮_(:з」∠)_
Lv.1管理员

404

帖子

30

小组

2177

积分

赞助商广告
站长交流