В основном я пытаюсь сжать каталог по относительному пути, используя функцию Joomla JArchive::create()
. Пока я могу заархивировать каталог, но он заархивирует весь абсолютный путь.
Код, который я использую для этого почтового индекса, показывает абсолютный путь, как показано ниже:
$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 на основе кода, который я предоставил, тогда это будет очень признательно.