Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „download-script speichert files kaputt“

kool_69

Nicht mehr ganz neu hier

Hallo,
ich habe ein Download-Script in PHP gebasetelt und es hat wunderbar funktioniert. Seit neuestem tut es dies jedoch leider nicht mehr! Wenn ich eine Datei auf meinem Rechner speichere, ist diese immer kaputt. Sprich, egal welcher Typ, immer gibt es einen Fehler beim Öffnen...

Nach Auslesen der File-Infos aus der Datenbank und anschließendem verschieben in ein "geheimes" Verzeichnis hatte ich am Ende immer folgenden Header:

header('Content-Disposition: attachment; filename="'.$new_dir.'"');

Hab mich jetzt im Internet tot gegoogelt und es werden eigentlich - so wie ich das gesehen habe - alle Download-Scripte so geschrieben... Selbst wenn ich den File Type noch explizit vorher angebe, bspw. mit Image/gif funktioniert es nicht...

Habs jetzt mal folgendermaßen abgeändert:

header("Content-Type: application/octet-stream");
header('Content-Disposition: attachment; filename="'.$new_dir.'"');

Dann erkennt er im Browser beim Starten des Downloads zwar schonmal den richtigen File-Typ anhand der Extension, dennoch speichert er die Files dann immer noch kaputt auf dem Rechner nach dem Download.

Hab auch mal einfach über den Browser die Files aus dem "geheimen" Verzeichnis aufgerufen. Wenn ich es dann speichere klappts wunderbar, liegt also auf jeden Fall am Starten des Downloads via PHP...

Vielleicht hat ja jemand von euch Erfahrung in Sachen eigenes Dl-Script oder kennt das Problem evtl. sogar...
 

CIX88

Aktives Mitglied

>dennoch speichert er die Files dann immer noch kaputt
Würde ich auch, wenn ich nicht weis wie groß überhaupt das File ist.

Es müsste ungefähr so aussehen:
header("Content-Type: application/octet-stream");
header("Content-Length: ".filesize($file) );
header("Content-Disposition: attachment; filename=".$file."");
readfile($file);
 

saila

Moderatorle

PHP:
<?php
header("Expires: 0");
header("Cache-Control: no-cache, must-revalidate");
header("Cache-Control: public",false);
header("Content-Description: File Transfer");
header("Content-type: image/gif");
header("Content-Length: ".$size);
header("Content-Disposition: attachment; filename=$filename");
header("Content-Transfer-Encoding: binary");
readfile("$filename");
?>
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
175.182
Beiträge
2.582.051
Mitglieder
67.254
Neuestes Mitglied
MKP
Oben