Guten Tag,
ich suche bereits seit langer zeit eine Möglichkeit via PHP einen kompletten Ordner als .zip herunterzuladen, ohne ihn erst erstellen und dann herunterladen zu müssen.
Habe hier (link) eine Möglichkeit gefunden welche problemlos klappt, jedoch max. 767MB.
Komme hier leider nicht weiter.
memory_limit in php.ini hab ich bereits auf 128G gestellt, daran kann es nicht liegen.
Villeicht hatte jemand schon dieses problem und konnte es lösen.
hier mal mein aktueller Code:
ich suche bereits seit langer zeit eine Möglichkeit via PHP einen kompletten Ordner als .zip herunterzuladen, ohne ihn erst erstellen und dann herunterladen zu müssen.
Habe hier (link) eine Möglichkeit gefunden welche problemlos klappt, jedoch max. 767MB.
Komme hier leider nicht weiter.
memory_limit in php.ini hab ich bereits auf 128G gestellt, daran kann es nicht liegen.
Villeicht hatte jemand schon dieses problem und konnte es lösen.
hier mal mein aktueller Code:
PHP-Code:
require_once ('archive.php');
// Objekt erzeugen. Das Argument bezeichnet den Dateinamen
$zipfile= new zip_file('Zipdatei.zip');
// Die Optionen
$zipfile->set_options(array (
'basedir' => "/var/www/144.76.16.19/dl/", // Das Basisverzeichnis. Sonst wird der ganze Pfad von / an im Zip gespeichert.
'followlinks' => 1, // Symlinks sollen berücksichtigt werden
'inmemory' => 1, // Die Datei nur im Speicher erstellen
'level' => 1, // Level 1 = schnell, Level 9 = gut
'recurse' => 1, // In Unterverzeichnisse wechseln
// Wenn zu grosse dateien verarbeitet werden, kannes zu einem php memory error kommen
// Man sollte nicht über das halbe memory_limit (php.ini) hinausgehen
'maxsize' => 20000000000*1024*1024
));
$zipfile->add_files(array("", "dl/test/*.*"));
// Archiv erstellen
$zipfile->create_archive();
// Archiv zum Download anbieten
$zipfile->download_file();
// Oder speichern (vielen Dank an PHPler!!!)
$zipfile->save_file('myzip.zip', $path = '/tmp/');
Kommentar