XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   Serveradministration und serverseitige Scripte (http://xhtmlforum.de/forumdisplay.php?f=80)
-   -   php Download file nicht komplett (http://xhtmlforum.de/showthread.php?t=67013)

Avadis 05.03.2012 21:29

php Download file nicht komplett
 
Hallo zusammen,
habe folgendes Problem
In meiner index.php steht:

PHP-Code:

...
echo 
"<a href='download.php?file=$datei'>$datei</a><br><br>";
... 

in $datei ist z.b. Test.zip enthalten. Klicke ich nun auf den Link wird download.php geöffnet, wo folgendes drinne steht

PHP-Code:

<?php
$filename 
$_GET["file"];

header("Content-Type: application/zip");
header("Content-Disposition: attachment; filename=$filename");

readfile($filename);
?>

Die Datei wird auch erfolgreich verlinkt. und wird zum Download angeboten, allerdings ist diese dann immer nur zwischen 100 - 500 byte gross, wenn ich sie gedownloadet habe, wo sie im Original aber 300MB gross ist.
Ich finde gerade das Problem nicht, habt ihr ne Idee?!

Hab auch schon das auf http://xhtmlforum.de/45166-pdf-als-d...cht-ffnen.html versucht... Half aber auch nicht.

Danke für eure Zeit und hilfe

inta 05.03.2012 21:53

Stimmt der Pfad zur Datei? Hast du error_reporting auf E_ALL gesetzt?

Du reißt dir übrigens ein gigantisches Sicherheitsloch in deinen Server/Webspace. Mit deinem jetztigen Skript kann man alle Dateien runterladen auf die deine PHP-Umgebung Zugriff hat.

Avadis 05.03.2012 22:03

Hab auch das Gefühl das der Pfad nicht stimmt, denn wenn ich einen "falschen" angebe ist das Problem unverändert.

error_reporting auf E_ALL hab ich nicht. Ich guck eben mal

Das ich da ein Sicherheitsloch hab ist mir bewusst. Ist nur für Privatbereich (ca. 10 Rechner bei mir daheim)

mermshaus 08.03.2012 09:49

Öffne die Datei, die du herunterlädst, mal mit einem Texteditor. (Einfach zip-Endung in txt ändern oder so.)

Sachen in der Größe sind immer verdächtig, PHP-Fehlermeldungen zu sein.

Avadis 15.03.2012 19:00

Auch das hat nicht funktioniert.
Hab das ganze jetzt soweit das der Download funktioniert, ABER nur bis zu einer bestimmten grösse. 70MB Kein Problem, 140 MB = ca. 500 byte

mantiz 15.03.2012 19:28

Hast du schonmal in die 500-Byte-Datei reingeschaut, wie es Marc bereits empfohlen hat?

Avadis 15.03.2012 19:31

Hey Mantiz, jetzt hab ich erst verstanden was gemeint war. Danke!

In der Datei steht:


HTML-Code:

<br>
<b>Fatal error</b>:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 144263169 bytes) in <b>C:\xampp\htdocs\index.php</b> on line <b>53</b><br />

Das hat mir sehr geholfen! Übrigens ein danke auch an Marc, sry fürs überfliegen und nicht richtig verstehen...

Avadis 15.03.2012 20:20

Für die Leute die es interessiert,

in der "Fehlerhaften" Datei stand der FEHLER drinne, welcher besagte das der php-Server (Apache) limitiert ist auf 128MB Files-download.

Diesen Wert kann man in (bei mir) c:\xaamp\php\php.ini verändern bei:

memory_limit = 128M
wo ich den Wert hochgesetzt habe, dann noch apache Server neu starten und alles läuft wie es soll ^^

Vielen dank an die Helfer!

sys_op 16.03.2012 12:31

Man könnte das Limit Problem natürlich auch mit einem header umgehen:
PHP-Code:

header("Location: $filename"); 



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

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2021, vBulletin Solutions, Inc.

© Dirk H. 2003 - 2020