PHP ZipArchive类不创建存档
我正在尝试使用以下代码创建所选文件的存档PHP ZipArchive类不创建存档,php,zip,cakephp-3.0,ziparchive,php-zip-archive,Php,Zip,Cakephp 3.0,Ziparchive,Php Zip Archive,我正在尝试使用以下代码创建所选文件的存档 $zip_in = new \ZipArchive; if ($zip_in->open('input.zip') === TRUE) { $files = array(); for ($loop = 0; $loop < $zip_in->numFiles; $loop++) { $files[] = $zip_in->getNameIndex($loop); } $zip_in-
$zip_in = new \ZipArchive;
if ($zip_in->open('input.zip') === TRUE) {
$files = array();
for ($loop = 0; $loop < $zip_in->numFiles; $loop++) {
$files[] = $zip_in->getNameIndex($loop);
}
$zip_in->extractTo('workspace');
$zip_in->close();
/**
* Changes done to files extracted inside WORKSPACE DIR above
*/
chdir('workspace');
$zip_out = new \ZipArchive();
$zip_out->open('output.zip', \ZipArchive::CREATE);
foreach ($files as $file) {
$zip_out->addFile($file);
}
$zip_out->close();
}
这是CakePHP 3应用程序的一部分。根据提示注释,当我在CakePHP 3应用程序之外独立运行代码时,它工作得很好。但是在CakePHP应用程序中存在一些问题。我正在添加额外的标记以突出CakePHP社区中的问题。因为您的代码错误,并且您正在用一个文件替换ZipArchive实例: $zip=addFile($file) 替换为:
$zip->addFile($file) 不,这是stackoverflow上的输入错误,而不是实际的代码。我正在更正。谢谢你指出!你能给我$files的代码并确保在这个文件中只有文件而没有目录吗?谢谢你对这个问题感兴趣。我已经在上面的问题中添加了所需的详细信息。您的代码正在为我工作。如何启动php脚本?感谢您在本地运行代码。我这样运行代码:
class A{public function A1(){/***上面的代码*/}}class B{public function B1{$A=newa();$A->A1();}}
这些东西都在CakePHP 3应用程序中
class A {
public function A1 () {
/**
* the code above
*/
}
}
class B {
public function B1 {
$a = new A();
$a->A1();
}
}