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.564
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.564
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: 63
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.564
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

html5pattern ansehen html5pattern

Pflichtfelder und Eingabevorgaben für Formulare validieren

06.07.2018 Berni | Kategorie: HTML5/ HowTo
Adventure PHP Framework

Das Adventure PHP Framework versteht sich als Hilfsmittel zur Implementierung von objektorientierten, generischen und wiederverwendbaren PHP-Web-Applikationen.

05.07.2018 phpler | Kategorie: PHP/ Framework
Phpstorm ansehen Phpstorm

Umfangreiche Entwicklungsumgebung für PHP-Programmierer inkl JavaScript und HTML Support. Jetzt Version 8.0!

03.07.2018 Berni | Kategorie: PHP ENTWICKLUNGSUMGEBUNG
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 12:51 Uhr.