[英]Multiple files upload as zip file
I have a site which allows users to upload multiple files. 我有一个允许用户上传多个文件的站点。 But it uploads multiple files to a folder now i want to zip and be stored.
但是现在我要压缩并存储它会将多个文件上传到一个文件夹。 Is it possible without using plugins?
不使用插件就可以吗? I found on net to use plugins but is it possible using php and javascript?
我在网上发现可以使用插件,但是可以使用php和javascript吗?
Here is my code for the multiple file upload : 这是我上传多个文件的代码:
$result = '';
$zipfilename=null;
$file = $_FILES['zipfile'];
if(empty($zipfilename))
$zipfilename = $file['name'];
if ($file['size'] > 0)
{
$dir = PROBLEMZIPS."/".sprintf("%05d",$KBID)."/";
$tmpName = $file['tmp_name'];
$dirName = $dir;
$fileName = $zipfilename;
if (!is_dir($dirName))
{
mkdir($dirName, 0777);
}
$destFile = $dirName . strtolower($fileName);
foreach ($_FILES["zipfile"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$name = $_FILES["zipfile"]["name"][$key];
move_uploaded_file($_FILES["zipfile"]["tmp_name"][$key], $dirName ."/". $_FILES['zipfile']['name'][$key]);
$zipz[] = $name;
$result = implode(' , ', $zipz);
}
}
$changesForEveryone[] = "Zip File Uploaded: " . $result;
$extraMsg .= "<br>Zip File Uploaded: " . $result."<br>";
}
else
{
$result = false;
}
This worked for me : 这为我工作:
<?php
$zip = new ZipArchive;
$file = Array();
$zip->open('zip/try.zip', ZipArchive::CREATE);
foreach($_FILES['zipfile']['name'] as $file) {
echo $file;
$zip->addFile($file);
echo "<br/>";
}
$zip->close();
?>
her is a method to zip upload files 她是一种压缩上传文件的方法
function zipFile($fileName,$folder,$u) {
$zip = new ZipArchive();
$zip->open($folder.'/'.$fileName.".rar", ZipArchive::CREATE);
$zip->addFile($u,$fileName);
$zip->close();
return true;
}
$tmpFile = $_FILES["file"]["tmp_name"];
$file = $_FILES["file"]["name"];
zipFile($file,'uploads/'.$random.'',$tmpFile);
else echo " Error while uploading";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.