所以,我在youtube视频plunker上观看了如何使用php压缩文件的教程。这是我复制的代码。
这是上传zip的表单。我选择7个文件,然后命名存档名称" testing"。
点击"将文件添加到Zip"后,文件被压缩并发送到目录。
这些是代码
HTML代码:
<?php
if(isset($_POST['create']))
{
$filesArray = $_FILES["files"];
for($num = 0; $num < count($filesArray["name"]); $num++)
{
$fileName = $filesArray["name"][$num];
$tempName = $filesArray["tmp_name"][$num];
move_uploaded_file($tempName,"tmp/".$fileName);
}
$archiveName = $_POST['name'].".zip";
$filesArrayNames = $_FILES["files"]["name"];
$zipsDir = scandir("zips/");
$error = false;
foreach($zipsDir as $zipDirFile)
{
if($zipDirFile == $archiveName)
{
$error = true;
break;
}
}
if($error == false)
{
$tmpDir = scandir("tmp/");
$zip = new ZipArchive;
$zip->open("zips/".$archiveName, ZipArchive::CREATE);
for($num = 0; $num < count($filesArray["name"]); $num++)
{
$fileName = $filesArray["name"][$num];
foreach($tmpDir as $tmpDirFile)
{
if($tmpDirFile == $fileName)
{
$zip->addFile("tmp/".$fileName);
echo "Adding: ".$fileName."<br />";
}
}
}
$zip->close();
for($num = 0; $num < count($filesArray["name"]); $num++)
{
$fileName = $filesArray["name"][$num];
foreach($tmpDir as $tmpDirFile)
{
if($tmpDirFile == $fileName)
{
unlink("tmp/".$fileName);
}
}
}
}
else
{
echo "Name already exists";
}
}
if (isset($_POST['upload']))
{
//code to add for uploading zip file to database
}
?>
PHP代码:
brew install swiftlint
但是文件是通过php压缩后是否可以上传zip文件?我希望用户在压缩文件后上传文件。
答案 0 :(得分:0)
PHP
无法在用户计算机(客户端)上运行,但在服务器中,因此如果您想压缩然后上传文件,请考虑在客户端运行的脚本,如javascript
( angularjs
,jquery
以及其他可以使用的库)用来压缩文件和php以接受它们进入服务器。