2 Stimmen

Joomla alles zusammenpacken

Joomla-Version = 2.5.6

Server = Wamp Server

PHP = 5.3.8

Ich habe endlich herausgefunden, wie man ein Array von Dateien zippt, indem man den folgenden Code verwendet:

$filesArray = array();
$archivename = JPATH_SITE.'/'.'modules'.'/'.'mod_module_gen'.'/'.'package'.'/'.$new_folder_name.'/'.$new_folder_name.'.zip';
$excludes = array('.svn', '.zip','.DS_Store','__MACOSX','CVS');
$files = JFolder::files(JPATH_SITE.'/'.'modules'.'/'.'mod_module_gen'.'/'.'package'.'/'.$new_folder_name, null, true, true, $excludes);

foreach($files as $file)
{
    $data = JFile::read($file);
    $filesArray[] = array('name' => $file, 'data' => $data);
}

$zip =& JArchive::getAdapter('zip');
$zip->create($archivename, $filesArray);

Aber es zippt nicht nur die Dateien im erstellten Ordner, sondern auch alle Ordner, die zum Datei-Array führen.

/wamp/www/joomjunk/modules/mod_module_gen/package/$new_folder_name/files

$new_folder_name = ein benutzerdefinierter Name

Es sollte nur so zippen, wie unten gezeigt:

$new_folder_name/files

Gibt es etwas im Code, das ich falsch gemacht habe oder etwas fehlt, das dazu führt, dass es auch alle vorherigen Ordner zippt? Jede Hilfe wäre sehr geschätzt. Grüße

1voto

Thomas Punkte 2086

Wenn Sie absolute Pfadnamen wie

JPATH_SITE.'/'.'modules'.'/'.'mod_module_gen'.'/'.'package'.'/'.$new_folder_name

verwenden, erhalten Sie ein Archiv mit einer Ordnerstruktur, die Sie ihm bereitgestellt haben.

Kurzes Beispiel aus der Befehlszeile:

thomas@thinky ~ % tar -cf bar.tar image.jpg
thomas@thinky ~ % tar -cf foo.tar /home/thomas/image.jpg

Achten Sie auf die Ordnerstruktur in den Archiven:

thomas@thinky ~ % tar -tvf bar.tar
-rw-rw-r-- thomas/thomas 1922254 2012-04-23 20:02 image.jpg
thomas@thinky ~ % tar -tvf foo.tar
-rw-rw-r-- thomas/thomas 1922254 2012-04-23 20:02 home/thomas/image.jpg

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X