Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 强制下载工作,但在尝试本地打开时显示无效_Php_Function_Download_Header - Fatal编程技术网

Php 强制下载工作,但在尝试本地打开时显示无效

Php 强制下载工作,但在尝试本地打开时显示无效,php,function,download,header,Php,Function,Download,Header,我写了这个函数,一切都很好,直到我试图打开下载的副本,它表明该文件是无效的。这是我的功能 编辑:例如,我下载了一张图片,并尝试在iPhotos或Windows图片查看器中查看,它显示“不支持文件格式”。当我在服务器上查看它时,它看起来很好,但下载后它已损坏。谢谢Gumbo,尝试了一下,然后输出: 警告:gmdate()应为 参数2很长,字符串给定 在C:\Program Files\Wamp中 服务器\www\TutToasterUpload\PHPClass.php 在第83行,让我们看看是

我写了这个函数,一切都很好,直到我试图打开下载的副本,它表明该文件是无效的。这是我的功能



编辑:例如,我下载了一张图片,并尝试在iPhotos或Windows图片查看器中查看,它显示“不支持文件格式”。当我在服务器上查看它时,它看起来很好,但下载后它已损坏。

谢谢Gumbo,尝试了一下,然后输出:

警告:gmdate()应为 参数2很长,字符串给定 在C:\Program Files\Wamp中 服务器\www\TutToasterUpload\PHPClass.php 在第83行,让我们看看是什么 发生

修正了这一行:

//Added filemtime();    
header('Last-Modified: ' . gmdate('D, d M Y H:i:s', filemtime($this->path . basename($_GET['file']))) . ' GMT');

在一个不相关的注释中:basename()是否提供了针对LFI攻击的保护?您需要更具体一些。怎么是“无效”?它的内容是什么?用一个简单的文本文件试试,用十六进制查看器查看下载的数据。
//Added filemtime();    
header('Last-Modified: ' . gmdate('D, d M Y H:i:s', filemtime($this->path . basename($_GET['file']))) . ' GMT');