gpt4 book ai didi

php - 带有 php 的 zip 文件 - 排除文件夹

转载 作者:行者123 更新时间:2023-12-04 18:12:37 38 4
gpt4 key购买 nike

我有一个 zip 功能,我希望 FOLDER 中的每个文件都可以压缩

所以,路径是:

public_html/form/FOLDER/file_to_zip.xml

正如您在下面的代码中看到的那样,$files_to_zip 数组具有“FOLDER/file_to_zip.xml”路径,每当它压缩时,也会压缩文件夹,我只想压缩文件。

我可以在这里做什么?

function create_zip($files = array(),$destination = '',$overwrite = true) {

$valid_files = array();
if(is_array($files)) {
foreach($files as $file) {
if(file_exists($file)) {
$valid_files[] = $file;
}
}
}
if(count($valid_files)) {
$zip = new ZipArchive();
if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) {
return false;
}
foreach($valid_files as $file) {
$zip->addFile($file,$file);
}

$zip->close();

return file_exists($destination);
}
else
{
return false;
}
}

$loja=$_GET['loja'];

$connect = new MySQL('localhost','iloja_phc','sexparade');
$connect->Database('iloja_phc');
$posts = $connect->Fetch('ipad');

if ($posts && mysql_num_rows($posts) > 0) {
echo "Nome - ID - Email:<BR>";
while ($record = mysql_fetch_array($posts)) {
$files_to_zip = array($loja.'/CL'.$record['rand'].'.xml');
$result = create_zip($files_to_zip,'CL'.$record['rand'].'.zip');
echo "<a href='/formulario/CL".$record['rand'].".zip'>".$record['nome']."</a> - ".$record['id']." - EMAIL: ".$record['email']."</br>";
}
} else {
echo "Erro! Algo correu mal...";
}

最佳答案

当你打电话时

$zip->addFile($file,$file);

第一个参数是文件的路径,第二个是“localname”。如果您从第二个参数中删除该文件夹,您将获得所需的内容。

例子:
$zip->addFile("foo/bar.txt","bar.txt);

对于您的特定情况,我认为这应该有效:
$zip->addFile($file, basename($file));

来源:PHP手册评论 http://php.net/manual/en/ziparchive.addfile.php

关于php - 带有 php 的 zip 文件 - 排除文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12305374/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com