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