要接收上传的文件夹,可以使用PHP的$_FILES超级全局变量。具体操作如下:
- HTML表单中设置enctype属性为“multipart/form-data”,这样表单就可以上传文件了。
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="folder" />
<input type="submit" value="上传" />
</form>
- 在PHP脚本中获取上传的文件夹,可以使用$_FILES["folder"]来获取,其中"folder"是表单中input标签的name属性值。
$folder = $_FILES["folder"];
- 对于文件夹,需要使用PHP的zip扩展对其进行压缩,然后再进行操作。具体代码如下:
$zip = new ZipArchive();
$zip_name = time().".zip"; // 压缩后的文件名,这里以时间戳作为文件名
if ($zip->open($zip_name, ZipArchive::CREATE)!==TRUE) {
exit("无法创建压缩文件");
}
$zip->addEmptyDir($folder["name"]); // 在压缩包中创建文件夹
$files = scandir($folder["tmp_name"]); // 获取文件夹中的所有文件
foreach($files as $file){
if($file !== "." && $file !== ".."){
$zip->addFile($folder["tmp_name"]."/".$file, $folder["name"]."/".$file); // 将文件添加到压缩包中
}
}
$zip->close();
以上代码将上传的文件夹压缩为zip文件,并将其保存在服务器上。接下来可以对该zip文件进行操作。