Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.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_Exe - Fatal编程技术网

在PHP中删除一段时间后的文件

在PHP中删除一段时间后的文件,php,exe,Php,Exe,我有一个php脚本,它提供了一个指向使用该脚本创建的临时文件的链接。我希望用户能够下载该文件,但我不希望该文件在服务器上停留很长时间。我想删除文件,比如说2分钟后。如何做到这一点?您可以在下载后立即将其删除。输出文件的内容,然后将其关闭并取消链接 编辑:示例 $fo = fopen($f, 'rb') ; $content = fread($fo, filesize($f)) ; fclose($fo) ; } // Stream the file to the client

我有一个php脚本,它提供了一个指向使用该脚本创建的临时文件的链接。我希望用户能够下载该文件,但我不希望该文件在服务器上停留很长时间。我想删除文件,比如说2分钟后。如何做到这一点?

您可以在下载后立即将其删除。输出文件的内容,然后将其关闭并取消链接

编辑:示例

$fo = fopen($f, 'rb') ;
    $content = fread($fo, filesize($f)) ;
    fclose($fo) ;
}
// Stream the file to the client 
header("Content-Type: application/octet-stream"); 
header("Content-Length: " . strlen($archive)); 
header("Content-Disposition: attachment; filename=\"myfile.exe\""); 
echo $archive;
unlink($f);

设置cron作业以每隔几分钟运行一次清理脚本。您可以使用该函数查看文件是何时创建的,如果文件被认为“足够旧”,则可以将其删除。

这听起来不错,但是如何输出文件的内容呢?我的意思是说要下载的文件实际上是一个可执行文件(.exe)文件,是C++编译的结果。如何向用户提供exe文件下载?发送适当的头
头('Content-Type:application/octet-stream')
在写入buffer.QAH之前,streetpc的意思是不要提供指向该文件的链接。相反,您的原始脚本应该生成该文件,并使用上述代码将其输出给用户。或者,您可以提供一个指向脚本的链接,例如上面输出和删除文件的脚本。