Básicamente estoy tratando de comprimir un directorio desde una ruta relativa utilizando la función Joomla JArchive::create()
. Hasta ahora puedo comprimir un directorio pero comprime toda la ruta absoluta.JArchive :: create for Joomla 2.5?
El código que estoy utilizando ese zip la ruta absoluta es como se muestra a continuación:
$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);
creo es que tiene algo que ver con el uso de la estructura JPATH_SITE
que he intentado cambiar a la estructura JURI::root
pero luego ofrece un error que dice que no es una ruta válida.
Cualquier persona podría decirme cómo comprimir la ruta relativa en Joomla en función del código que he proporcionado, y esto sería muy apreciado.
¿Hay alguna razón específica para usar la ruta relativa? – Anand
@Anand: sí, porque cuando uso una ruta absoluta, en realidad comprime toda la ruta absoluta, comenzando desde la carpeta public_html. – Lodder
Creo que $ zipFilesArray debería ser la matriz que contiene los archivos con la ruta completa, no solo el nombre del archivo. También no se requieren datos en $ zipFilesArray – Anand