php 下载完成后删除文件

2016.08.20 -

需求:用户把图片打包下载后要删除打包的文件。
1.压缩文件夹生成zip压缩包
2.下载压缩包
3.删除压缩包和临时文件夹
问题:判断浏览器是否下载完成。从网上找了一个方法,并略做修改。
在这里使用到pclzip打包工具,具体的搜度娘就有了。
require_once “pclzip.lib.php.php”;
$name = date(‘YmdHis’);
$fileDir = “./temp/”;
$fileName = $name.”.zip”;
$filePath = “./”.$fileName;

$archive = new PclZip($fileName);
$list = $archive->create(array(array(PCLZIP_ATT_FILE_NAME => ‘./upload/’,PCLZIP_ATT_FILE_NEW_FULL_NAME => $name),),PCLZIP_OPT_ADD_PATH, ”,PCLZIP_OPT_REMOVE_PATH, ”);
if ($list == 0) {
die(“ERROR : ‘”.$archive->errorInfo(true).”‘”);
}else{
$fp=fopen($filePath,”r”);
$file_size=filesize($filePath);
Header(“Content-type: application/octet-stream”);
Header(“Accept-Ranges: bytes”);
Header(“Accept-Length:”.$file_size);
Header(“Content-Disposition: attachment; filename=”.$fileName);
$buffer=1024;
$file_count=0;
while(!feof($fp) && $file_count<$file_size){ $file_con=fread($fp,$buffer); $file_count+=$buffer; echo $file_con; } fclose($fp); if($file_count >= $file_size)
{
unlink($filePath);
exec(“rm -rf “.$fileDir);
}
}

– END –

阅 915
0

本来想把这个题目修改为“闭合浮动元素”或“清除浮动元素”,但想了一下,还是不修改为好。因为从这个题目我们可以更