我通过以下代码成功压缩了一个文件夹:
$('#test').click(function(){
$.ajax({
method:'post',
url:site+'/home/test',
data:{item_name:item_name,ext:ext},
success:function(result){}
});
});
public function test(){
$item_name=$this->input->post('item_name');
$ext=$this->input->post('ext');
shell_exec('cd zip_folder/; zip -r '.$item_name.'.'.$ext.' '. $item_name);
echo '1';
}
但我有一个问题,当文件夹非常大,如1GB,拉链需要很多,直到脚本结束我才能提出更多请求。我希望能够使用取消按钮取消该过程。我已经尝试过xhr.abort()但没有成功。即使我按f5,网站仍然会加载,直到拉链完成。我还想知道是否可以按f5取消此脚本。
答案 0 :(得分:1)
您可以尝试获取所有正在运行的进程并识别一个压缩文件,然后终止该进程。全部使用shell_exec。