基本上我正在尝试使用 JoomlaJArchive::create()
函数从相对路径压缩目录。到目前为止,我可以压缩一个目录,但它会压缩整个绝对路径。
我使用的那个 zip 绝对路径的代码如下图所示:
$zipFilesArray = array();
$new_component_path = JPATH_SITE.'/'.'modules'.'/'.'mod_module_gen'.'/'.'package'.'/'.$new_folder_name;
$dirs = JFolder::folders($new_component_path, '.', true, true);
array_push($dirs, $new_component_path);
foreach ($dirs as $dir) {
$files = JFolder::files($dir, '.', false, true);
foreach ($files as $file) {
$data = JFile::read($file);
$zipFilesArray[] = array('name' => str_replace($new_component_path.DS, '', $file), 'data' => $data);
}
}
$zip = JArchive::getAdapter('zip');
$zip->create($new_component_path.'/'.$new_folder_name.'.zip', $zipFilesArray);
我认为这与使用JPATH_SITE
我尝试更改为JURI::root
结构但随后提供错误说它不是有效路径的结构有关。
我任何人都可以告诉我如何根据我提供的代码在 Joomla 中压缩相对路径,那么这将不胜感激。