• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

header - download problem

derises

Mitglied
Hy,

Ich habe mit diesem Code hier Probleme

PHP:
$file = "hosting/uploads/testdatei.exe";
$download_name = basename($file);

    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename='.$download_name);
    header('X-Sendfile: '.$file);

Problem ist , das die datei die gedownloadet wird 1,5MB groß sein sollte, jedoch ladet er nur eine 1KB große datei runter ...

Der Name der datei wird richtig angezeigt "textdatei.exe" ..
Mach ich was falsch ?

Mein Pfad ist http://localhost/hosting/ und das verzeichniss in dem die testdatei liegt ist http://localhost/hosting/uploads/
 
Werbung:
Was fuer einen HTTP Server nutzt Du? X-Sendfile wird so erstmal nur von lighthttpd unterstuetzt. Wenn Du lighthttpd verwendest wuerde ich mal versuchen den Dateipfad relativ zum DocumentRoot angeben oder den Pfad eben absolut angeben.
Andernfalls musst Du den Content-Length Header eben selbst setzen und die Datei mit readfile() auslesen.
 
Ok sehr cool danke :)

Soo ne kleine frage ,

So sieht mein script aus ..
PHP:
if(isset($_POST)) {

bzw die erste zeile ... Nunja das problem ist , wenn ich die datei aufrufe im browser dann erfolgt immer ein eintrag in die DB, ohne eingabe. Also nur durchs aufrufen . Kann man dass verhindern ?

Post submit funktioniert nicht ganz :/

das ist mein button mit dem das script angesprochen wird
HTML:
        <input id="file_upload" name="file_upload" type="file" />
<a href="javascript:$('#file_upload').uploadifyUpload();"><img class="upload_button" src="core/img/uploadit.png"></a>
 
Werbung:
Wenn Du ganz sicher gehen willst, dass der Abschnitt zur Verarbeitung aus dem POST-Request nur dann ausgeführt wird, wenn er auch ausgeführt werden soll, beschränke die if-Bedingung auf den Namen des Submit-Buttons. Beispiel:

HTML:
<input type="submit" name="speichern" value="Speichern" />

PHP:
if( isset($_POST["speichern"] ){

Dieser Link-"Button" den Du da momentan scheinbar hast, wäre dann natürlich unnötig. Du kannst genauso gut richtige Formular-Buttons nutzen und auch per CSS so gestalten wie Du willst.
 
Zurück
Oben