Итак, у меня есть каталог, в котором находится папка root a files
и внутри нее папка test
, содержащая txt-файлы, тогда у меня есть этот код php:
function displayZip($name)
$zip = new ZipArchive();
$filename = "files/$name.zip";
if ($zip->open($filename, ZipArchive::CREATE)!==TRUE) {
exit("cannot open <$filename>\n");
}
$dir = "files/$name/";
createZip($zip, $dir);
$zip->close();
rmdir("files/$name");
}
function createZip($zip,$dir, $name){
if (is_dir($dir)){
if ($dh = opendir($dir)){
while (($file = readdir($dh)) !== false){
// If file
if (is_file($dir.$file)) {
if($file != '' && $file != '.' && $file != '..'){
$zip->addFile($dir.$file);
}
}
}
closedir($dh);
}
}
Который берет имя для zip в переменной $name
, затем указывает полный путь в $filename
, затем создает zip-архив, затем вызывает функцию createZip, которая открывает каталог с тем же именем zip, а затем добавляет файлы под этим каталогом внутри zip, однако, когда я звоню displayZip(’test’)
и затем открываю созданный zip, я вижу, что он добавил папки files/test/
внутри него. Итак, мой вопрос здесь:
- , где в коде он добавляет эти папки, находится ли он в строке
addFile
с частью $dir.$file
? - Что я могу сделать, чтобы получить только файлы внутри почтового индекса?
Заранее спасибо