当前位置:
首页 > 技术 > php文件下载完成后自动删除文件

php文件下载完成后自动删除文件

下载用户上传的图片,但是图片不断更新。

1.需要将图片从图片服务器下载到网站后台服务器

2.压缩文件夹生成zip压缩包

3.下载压缩包

4.删除压缩包和临时文件夹

其中遇到了一个问题:判断浏览器是否下载完成。从网上找了一个方法,并略做修改。

 

$filePath = "./download/img.zip";
$fileDir = "./download/img/";
$fileName = "img.zip";

$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);
}

网友评论1

  1. 沙发
    尚爱思笑话:

    感觉很不错的样子!

    2016-08-29 4:33 PM

发表评论

您必须 [ 登录 ] 才能发表留言!