我做了一个drupal模块,模块的功能之一是将一些文件压缩成一个zip包。它在我的本地环境(xampp)中运行良好,但在服务器上失败。我的服务器确实启用了 php zip 扩展,因为我可以在 php info 上看到 zip 信息,也可以使用 php 解压缩文件。
此外,我已经 chmod 文件为 0777 。
我的代码:
$folder = file_directory_path();
$zip = new ZipArchive();
if ($zip->open('b.zip', ZIPARCHIVE::CREATE) === TRUE) {
foreach ( $files as $file ) {
drupal_set_message(t($file)); // I can see the the message on this stpe
$zip->addFile($file);
}
$zip->close();
if (file_exists('b.zip')) {
copy('b.zip', $folder . '/b.zip');
unlink('b.zip');
global $base_url;
variable_set('zippath', $base_url . $folder . '/b.zip');
drupal_set_message(t('new zip package has been created'));
}
} else {
drupal_set_message(t('new zip package failed'));
}