PHP Zip最大文件数

时间:2016-02-10 13:47:08

标签: php zip

我有点问题。我有一个脚本,允许人们在多选输入中上传文件。这些输入字段通过HTTPXML请求提交。但我试图选择98张大约900MB的图片 - 它们被上传并且ZIP脚本完成没有任何错误。但是当我想下载文件时,它只有200 MB,而ZIP中只有20张图片。我增加了服务器上的最大执行时间 - 但脚本似乎只运行了24秒。我将PHP内存限制增加到2 GB - 服务器也有足够的Ram。最大文件大小也是最大上传大小约2GB。

这里的剧本:

$zip = new ZipArchive();
	$res = $zip->open(__DIR__."/../files/".$filename, ZIPARCHIVE::CREATE);
	if($res){
		for($i = 0; $i < count($_FILES['datei']['name']); $i++){
			move_uploaded_file($_FILES['datei']['tmp_name'][$i], __DIR__.'/../temp/'.$_FILES['datei']['name'][$i]);
			if(file_exists(__DIR__.'/../temp/'.$_FILES['datei']['name'][$i]) && is_readable(__DIR__.'/../temp/'.$_FILES['datei']['name'][$i])){
				$zip->addFile(__DIR__.'/../temp/'.$_FILES['datei']['name'][$i], $_FILES['datei']['name'][$i]);
			}else{
				$status['uploaded_file'] = 500;
			}
		}
		$res_close = $zip->close(); 
		if($res_close){
			$status['uploaded_file'] = 200;
		}
		for($i = 0; $i < count($_FILES['datei']['name']); $i++){
			unlink(__DIR__.'/../temp/'.$_FILES['datei']['name'][$i]);
		}
	}else{
		die($res);
		$status['uploaded_file'] = 500;
	}

脚本基本上将所有TEMP文件移动到另一个TEMP文件夹。从那些TEMP文件夹中,它们被压缩到文件夹。之后将删除TEMP文件夹中的文件。

我做错了有什么蠢事吗?还是我没有看到另一个限制?

感谢您的帮助

0 个答案:

没有答案