php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > ASP, PERL, CGI, C und alles andere
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


ASP, PERL, CGI, C und alles andere Wolle ma net so sein. Obwohl Perl, ASP, C und TCL zu den minderwertigen Internet-Skriptsprachen zählen, dürfen ab sofort hierzu auch Fragen gestellt werden. ;)

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 23-08-2016, 15:04
Death-Dinner
 Registrierter Benutzer
Links : Onlinestatus : Death-Dinner ist offline
Registriert seit: Oct 2010
Beiträge: 10
Death-Dinner befindet sich auf einem aufstrebenden Ast
Standard php stream .zip komnpletten Ordner (große Dateien)

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:
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/'); 
Mit Zitat antworten
  #2 (permalink)  
Alt 23-08-2016, 15:51
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Und „nicht klappen“ bei über X MB bedeutet was, konkret?

Hast du analysiert, was für ein Fehler dabei auftritt, und wo?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #3 (permalink)  
Alt 23-08-2016, 16:21
Death-Dinner
 Registrierter Benutzer
Links : Onlinestatus : Death-Dinner ist offline
Registriert seit: Oct 2010
Beiträge: 10
Death-Dinner befindet sich auf einem aufstrebenden Ast
Standard

Er lädt nur 767MB herunter.
In der erstellten .zip sind alle Dateien vorhanden, die kleineren sind komplett und meine test .mkv (11GB) hat 0KB.
Mit Zitat antworten
  #4 (permalink)  
Alt 26-08-2016, 13:16
Death-Dinner
 Registrierter Benutzer
Links : Onlinestatus : Death-Dinner ist offline
Registriert seit: Oct 2010
Beiträge: 10
Death-Dinner befindet sich auf einem aufstrebenden Ast
Standard

push
Mit Zitat antworten
  #5 (permalink)  
Alt 26-08-2016, 13:26
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.578
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Schon analysiert, was am Server überhaupt passiert? Welche HTTP-Header werden gesendet? Gibt es Fehlermeldungen in den Error-Logs?
Mit Zitat antworten
  #6 (permalink)  
Alt 30-08-2016, 22:19
Death-Dinner
 Registrierter Benutzer
Links : Onlinestatus : Death-Dinner ist offline
Registriert seit: Oct 2010
Beiträge: 10
Death-Dinner befindet sich auf einem aufstrebenden Ast
Standard

ja, gibt keine.
Wie geschrieben werden die Dateien nicht gepackt, tauchen aber in der .zip als NAme und 0KB auf.
Mit Zitat antworten
  #7 (permalink)  
Alt 30-08-2016, 22:22
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.578
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Und wie sieht der HTTP-Header aus?
Mit Zitat antworten
  #8 (permalink)  
Alt 31-08-2016, 11:12
SysOp
 Registrierter Benutzer
Links : Onlinestatus : SysOp ist offline
Registriert seit: May 2005
Beiträge: 67
SysOp befindet sich auf einem aufstrebenden Ast
Standard

Und wie sieht es mit dem Naheliegenden aus, dem Speicher.

Die Zip-Datei wird ja nur im Speicher erstellt, ist denn genug Speicher vorhanden. Eine Einstellung des Memory-Limits auf 128GB (was mir übrigens sehr übertrieben vorkommt) nutzt nix, wenn nur 16GB Speicher verbaut sind. 11GB können da durchaus schon zu gross sein.
Mit Zitat antworten
  #9 (permalink)  
Alt 31-08-2016, 22:12
Death-Dinner
 Registrierter Benutzer
Links : Onlinestatus : Death-Dinner ist offline
Registriert seit: Oct 2010
Beiträge: 10
Death-Dinner befindet sich auf einem aufstrebenden Ast
Standard

ich kann keinen Fehler finden.
Die Dateien welche ich laden will sind alle zusammen etwas über 12G.
Im Server stecken 16G und belegt sind um die 600MB.

wie oben geschrieben lädt er noch nicht mal 800MB runter.
Mit Zitat antworten
  #10 (permalink)  
Alt 31-08-2016, 22:22
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.578
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Und wie sieht jetzt der HTTP-Header aus?

Muss ich das noch 10mal fragen? Eigentlich sollte es in deinem Interesse sein brauchbare Antworten zu liefern und sich nicht alles aus der Nase ziehen zu lassen.
Mit Zitat antworten
  #11 (permalink)  
Alt 11-09-2016, 22:16
Death-Dinner
 Registrierter Benutzer
Links : Onlinestatus : Death-Dinner ist offline
Registriert seit: Oct 2010
Beiträge: 10
Death-Dinner befindet sich auf einem aufstrebenden Ast
Standard

Problem konnte ich im übrigen lösen, danke für eure hilfreichen Tipps.

in der php.ini
"output_buffering = 128000" gesetzt, sind 128GB
Mit Zitat antworten
  #12 (permalink)  
Alt 12-09-2016, 06:19
Benutzerbild von mermshaus mermshaus
 Registrierter Benutzer
Links : Onlinestatus : mermshaus ist offline
Registriert seit: Jun 2009
Beiträge: 451
mermshaus wird schon bald berühmt werden
Standard

PHP-Code:
        // 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 
21 Petabytes. Da wird nicht geknausert.

Versuch lieber mal so was, bevor du endlos Daten in den Speicher ballerst:

- Zip Stream in PHP - Stack Overflow

Zitat:
Zitat von Death-Dinner
in der php.ini
"output_buffering = 128000" gesetzt, sind 128GB
Da dürftest du um die Kleinigkeit eines Faktors von 1 Million falschliegen. Das sind 128 kB.

- PHP: Runtime Configuration - Manual

Kann mir nicht wirklich vorstellen, dass diese Einstellung was mit der Sache zu tun hat. Höchstens in Form eines eher bizarren Seiteneffekts. (Vielleicht generiert der eigentliche Code PHP-Notices/-Fehlermeldungen, die wegen „Headers already sent“ zu einem Abbruch führen, sobald sie es in die Ausgabe schaffen. Vielleicht wurden mit der vorherigen output_buffering-Einstellung nicht alle davon geschluckt, aber mit der neuen schon. Wilde These. )

Geändert von mermshaus (12-09-2016 um 16:57 Uhr)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Große Dateien entpacken Dukeatcoding PHP Developer Forum 9 09-06-2010 16:17
curl und große Dateien yezariel PHP Developer Forum 4 12-02-2010 17:24
ordner in zip datei? sanchez PHP Developer Forum 8 15-03-2005 11:01
große Dateien bearbeiten teresiak PHP Developer Forum 9 13-10-2003 12:32
editor für große Dateien lachesis Apps und PHP Script Gesuche 2 22-04-2003 16:57

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:38 Uhr.