- Ad -
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, 16: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, 16: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, 17: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, 14: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, 14:26
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.485
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, 23: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, 23:22
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.485
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Und wie sieht der HTTP-Header aus?
Mit Zitat antworten
  #8 (permalink)  
Alt 31-08-2016, 12:12
SysOp
 Registrierter Benutzer
Links : Onlinestatus : SysOp ist offline
Registriert seit: May 2005
Beiträge: 54
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, 23: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, 23:22
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.485
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, 23: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, 07:19
Benutzerbild von mermshaus mermshaus
 Registrierter Benutzer
Links : Onlinestatus : mermshaus ist offline
Registriert seit: Jun 2009
Beiträge: 449
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 17: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 17:17
curl und große Dateien yezariel PHP Developer Forum 4 12-02-2010 18:24
ordner in zip datei? sanchez PHP Developer Forum 8 15-03-2005 12:01
große Dateien bearbeiten teresiak PHP Developer Forum 9 13-10-2003 13:32
editor für große Dateien lachesis Apps und PHP Script Gesuche 2 22-04-2003 17: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

Mit Web-Templates Geld verdienen
Mit Web-Templates Geld verdienenWeb-Templates gewinnen immer mehr an Bedeutung. Erfahre hier, wie du dir mit dem TemplateMonster-Marktplatz neue Verkaufswege erschließen kannst.

17.10.2017 | Berni

Kostenloser PHP Editor Codelobster
Kostenloser PHP Editor CodelobsterEin einfach zu verwendender PHP, HTML, CSS, JavaScript Editor mit vielen Funktionen

21.09.2017 | Berni


 

Aktuelle PHP Scripte

PHP Newsletter Script SuperWebMailer ansehen PHP Newsletter Script SuperWebMailer

Die webbasierte PHP Newsletter Software SuperWebMailer ist die optimale Lösung zur Durchführung eines erfolgreichen E-Mail-Marketings. Zur Nutzung des PHP Script-Pakets ist eine eigene Webpräsenz/Server mit PHP 4 oder neuer, MySQL 3.23 oder neuer und die

17.11.2017 mirko_swm | Kategorie: PHP/ Mail
belbit Ticketcenter ansehen belbit Ticketcenter

Supportanfragen per Helpdesk über E-Mail und per Kontaktformular entgegennehmen. Inkl. iPhone- und Android App zum mobilen Beantworten von Anfragen.

14.11.2017 EichbaumMedia | Kategorie: PHP/ Ticketsystem
PHP Counter Script V1.0 ansehen PHP Counter Script V1.0

Ein ganz einfach einzubauender Besucherzähler. Kostenlos und ohne Werbung für private und gewerbliche Webseiten!

14.11.2017 hinnendahl_com | Kategorie: PHP/ Counter
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:19 Uhr.