Grundsätzlich versuche ich ein Verzeichnis von einem relativen Pfad mit der Joomla JArchive::create()
Funktion zu komprimieren. Bisher kann ich ein Verzeichnis komprimieren, aber es zieht den gesamten absoluten Pfad durch.JArchive :: Erstellen für Joomla 2.5?
Der Code, den ich, dass zip bin mit dem absoluten Pfad wird wie unten dargestellt:
$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);
Ich denke, ist, hat etwas mit der Verwendung der JPATH_SITE
Struktur zu tun, was ich versucht habe zu der JURI::root
Struktur zu verändern, aber dann stellt ein Fehler, der besagt, dass es kein gültiger Pfad ist.
Ich könnte mir jemand sagen, wie relativer Pfad in Joomla basierend auf dem Code, den ich bereitgestellt habe, dann würde dies sehr geschätzt werden.
Gibt es einen bestimmten Grund für die Verwendung des relativen Pfads? – Anand
@Anand: Ja, weil wenn ich einen absoluten Pfad verwende, reißt es tatsächlich den gesamten absoluten Pfad, beginnend mit dem Ordner public_html. – Lodder
Ich denke, $ zipFilesArray sollte das Array sein, das die Dateien mit dem vollständigen Pfad enthält, nicht nur den Dateinamen. Auch Daten sind nicht erforderlich in $ zipFilesArray – Anand