一直试图让这个工作一段时间,并且我已经阅读了一堆SO帖子。但我已经试过这一切,它不工作..PHP Force下载 - 给出190byte文件
这是我现在想要的代码:
header("Content-type: application/octet-stream");
header("Content-Length: " . filesize($_REQUEST['file']));
header("Content-Disposition: attachment; filename=".basename($_REQUEST['file']));
readfile($_REQUEST['file']);
但它不工作。它适用于我所有的其他文件,但不适用于.FLV。 它显示的大小是190bytes,它只保存了一个190bytes的文件。它具有正确的网址,因为我可以在浏览器中输入网址并播放视频。
任何想法?
我已经尝试了很多头:
header('Pragma: public'); // required
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=".basename($_REQUEST['file']));
header("Content-Type: video/mpeg");
header("Content-Transfer-Encoding: binary");
header("Content-Length: " . filesize($_REQUEST['file']));
header('Cache-Control: must-revalidate, post-check=0, pre-check=0', false);
header('Cache-Control: private', false); // required for certain browsers
我要的是一个savefile.php文件,可以保存所有的不同的视频格式,同时还ZIP,RAR,EXE等文件。这将是巨大的,如果有会支持这一切某种方式的基础上,通过文件指定的文件扩展名...
编辑:
我甚至使用FOPEN试过,但没有作品。它显示190个字节,但我知道url是正确的。并且该文件的工作原理(现在在xampp上进行本地测试,所以我可以轻松访问我的文件)
你永远不应该读整个文件到内存! – Seti