php zip存档正在添加没有大小的文件
我得到了这个工作,但当我在zip文件夹中查看所有的文件大小是0。我尝试不将文件添加到zip,但当我尝试将它们添加到zip时,大小变为0。这是为什么 这是我的phpphp zip存档正在添加没有大小的文件,php,upload,ziparchive,Php,Upload,Ziparchive,我得到了这个工作,但当我在zip文件夹中查看所有的文件大小是0。我尝试不将文件添加到zip,但当我尝试将它们添加到zip时,大小变为0。这是为什么 这是我的php if(isset($_FILES['file'])){ $file_folder = "uploads/"; $zip = new ZipArchive(); $zip_name = time().".zip"; $open = $zip->open("zip/".$zip_name, Zip
if(isset($_FILES['file'])){
$file_folder = "uploads/";
$zip = new ZipArchive();
$zip_name = time().".zip";
$open = $zip->open("zip/".$zip_name, ZipArchive::CREATE);
if($open === true){
for($i = 0; $i < count($_FILES['file']['name']); $i++)
{
$filename = $_FILES['file']['name'][$i];
$tmpname = $_FILES['file']['tmp_name'][$i];
move_uploaded_file($tmpname, "uploads/".$filename);
$zip->addFile($file_folder, $filename);
}
$zip->close();
if(file_exists("zip/".$zip_name)){
// zip is in there, delete the temp files
echo "Works";
for($i = 0; $i < count($_FILES['file']['name']); $i++)
{
$filenameu = $_FILES['file']['name'][$i];
unlink("uploads/".$filenameu);
}
} else {
// zip not created, give error
echo "something went wrong, try again";
}
}
}
if(isset($\u文件['file'])){
$file_folder=“uploads/”;
$zip=新的ZipArchive();
$zip_name=time().“.zip”;
$open=$zip->open(“zip/”$zip\u name,ZipArchive::CREATE);
如果($open==true){
对于($i=0;$iaddFile($file\u folder,$filename);
}
$zip->close();
如果(文件_存在(“zip/”$zip_名称)){
//zip在那里,删除临时文件
呼应“作品”;
对于($i=0;$i
您的问题在于这一行:$zip->addFile($file\u folder,$filename)代码>
当前,它将路径作为第一个参数传递到/uploads/
目录
根据Zip::addFile
,您应该传递要添加的文件的路径(包括文件和扩展名)
因此,更改代码以包含文件名(您已经将其作为变量$filename
,这很方便)
$zip->addFile($file\u folder.$filename,$filename)代码>$zip->addFile($file\u folder.$filename,$filename)代码>试试看谢谢,它现在很好用:D