Bilddownload über Link?

unrealzero_php

Erfahrenes Mitglied
Hallo zusammen

Programmiere gerade ein kleine Download-Script. Wenn ich es lokal teste funktioniert es einwandfrei. Sobald ich es jedoch auf dem Server stelle geht nichts mehr.

PHP:
<?php
    $fileorig = str_pad($_GET['show'], 7, 0, STR_PAD_LEFT);
    $imgdir = '../galerie/images/';
    
    // Wir werden eine PDF Datei ausgeben
    header('Content-type: image/png');
    
    // Es wird downloaded.pdf benannt
    header("Content-Disposition: attachment; filename=test.png");
    
    // Die originale PDF Datei heißt original.pdf
    readfile($imgdir.$fileorig.'.png');
?>
Das ganze Script wird über einen Link, mit folgenden Aufbau, aufgerufen:

HTML:
<a href="imagedownload.php?show=12 target="_blank">Download</a>
 
Hi,

im Link selber ist ein Fehler. Es fehlt ein ".

Code:
<a href=imagedownload.php?show=12" target="_blank">Download</a>

mfg pamax
 
Ich würde es mal mit den absoluten Pfad probieren.
Und den bekommst Du so herraus.
PHP:
echo $_SERVER['DOCUMENT_ROOT'];

mfg Spikaner
 
Das Problem ist deine Übermittlung des Inhaltstypen.

Du sagst dem Browser es kommt ein Bild, also zeigt er das Bild an.
Du willst ihm aber lieber sagen, dass ein Download kommt und das schaffst du folgendermaßen:

PHP:
header('Content-Type: application/octetstream', true);

Das hier ersetzt natürlich deinen Content-Type: image/png.
 
Stimmen denn die Pfadangaben überein? Zeichne die Ausgabe mal als Klartext (Inhaltstyp „text/plain“) aus und rufe das Skript direkt auf um so mögliche Fehlermeldungen lesen zu können.
 
Das Problem ist deine Übermittlung des Inhaltstypen.

Du sagst dem Browser es kommt ein Bild, also zeigt er das Bild an.
Du willst ihm aber lieber sagen, dass ein Download kommt und das schaffst du folgendermaßen:

PHP:
header('Content-Type: application/octetstream', true);

Das hier ersetzt natürlich deinen Content-Type: image/png.

Jetzt funktioniert es in Firefox jedoch nicht unter dem IE7?! Hier öffnet sich das Downlaodfenster und es kommt eine Fehlermeldung nach dem "Dateiinfomationen ermitteln". Woran kann das liegen?
 
Zuletzt bearbeitet:
Zurück