繁体   English   中英

使用PHP强制下载文件:损坏的文件,尝试了几种解决方案

[英]Force file download with PHP: corrupted files, have tried several solutions

这已经发布了,但是我已经尝试了许多在SO等上找到的解决方案(例如: http : //davidwalsh.name/php-force-download

我基本上有这个:

{       
    $filePath = '../public/myfile.png';
    $fileName = basename($filePath);
    $fileSize = filesize($filePath);


    if (!is_file) {
        die("File not found");
    } else {                        
        header("Content-Description: File Transfer");
        header('Content-Type: application/octet-stream');
        header("Content-Disposition: attachment; filename= " . $fileName);
        header("Content-Transfer-Encoding: binary");
        readfile($filePath);
    }
}

可以识别并下载文件,但是.PNG为空,.DOC已损坏(Word要求我修复文件,这样就可以了)。 我也尝试过PDF,这没有问题。

我确实要放置各种选项(编译指示,缓存控制,过期,内容长度等),仍然下载文件但以某种方式损坏了...

你有我的问题吗? 请考虑我在IIS 7.5上

提前致谢

使用纯文本编辑器(如Notepad ++)打开下载的文件。 在顶部,您会发现一个PHP错误通知,它将告诉您出了什么问题。

错误可能是“会话已发送”。 然后添加ob_start(); 在脚本的开头。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM