Mit Hilfe von PHP erzwingen Sie den Download eines PDFs

8

Ich versuche, eine Website mit einem Button zu versehen, der den Download einer PDF-Datei erzwingt.

Hier ist der HTML-Code des Buttons:

%Vor%

Und das PHP-Skript so weit:

%Vor%

Das scheint die Datei zu laden, aber wenn ich sie öffne, bekomme ich diesen Fehler:

"Adobe Reader konnte 'documents_ECM_IT_ResumeDownload.pdf' nicht öffnen, da es sich entweder nicht um einen unterstützten Dateityp handelt oder weil die Datei beschädigt wurde (z. B. wurde sie als E-Mail-Anhang gesendet und nicht richtig dekodiert)."

Jede Hilfe würde sehr geschätzt werden.

BEARBEITEN Eröffnet das PDF in einem Texteditor und erhielt folgende Nachricht:

"
Warnung : readfile (Dokumente / ECM_IT_ResumeDownload.pdf) [function.readfile]: Fehler beim Öffnen des Streams: Keine solche Datei oder kein Verzeichnis in html / scripts / download. php in Zeile 4
"

Das Dokument ist jedoch definitiv da. in html / documents / ECM_IT_ResumeDownload.pdf

    
Craig Traynor 14.05.2012, 02:17
quelle

5 Antworten

2

Haben Sie versucht, das abschließende PHP-Tag (das? & gt;) am Ende loszuwerden? Es behandelt die Seite als eine reine PHP-Seite und entfernt mögliche neue Zeilen, die versehentlich an das Ende der Ausgabe angehängt werden könnten. Das hat mir geholfen, als ich Excel-Dateien dynamisch zum Download erstellte und sie als beschädigt heruntergeladen haben. Auf dieser Seite finden Sie weitere Informationen:

Ссылка

Von Ihrer bearbeiteten Frage scheint es so, als ob PHP die Datei nicht finden kann. Versuchen Sie, einen absoluten Pfad zur Datei zu verwenden: "c: \ blah \ de \ blah \ bloo.pdf" oder "c: /blah/de/blah/bloo.pdf". Wenn einer dieser Pfade korrekt funktioniert und heruntergeladen wird, ist Ihr relativer Pfad in gewisser Weise falsch.

    
abelito 14.05.2012, 02:35
quelle
18
%Vor%     
Mohammad Intsar 28.02.2013 11:01
quelle
4

Versuchen Sie, den Pfad zur Datei zu entfernen und lassen Sie den Dateinamen im Inhalt:

%Vor%     
John Conde 14.05.2012 02:19
quelle
0

Ich benutze immer das Download-Skript von Gowon Patterson, es hat auch einen Hotlink-Schutz: Ссылка

    
FluffyKitten 14.05.2012 02:42
quelle
0

Übrigens, ein bisschen spät, aber um das Problem hier richtig zu identifizieren:

Ihr Download-Skript befindet sich unter scripts/download.php und die Datei, die Sie herunterladen möchten, befindet sich unter documents/[...].pdf .

Daher sollte Ihre Funktion readfile() auf das übergeordnete Verzeichnis (außerhalb von scripts/ ), z. readfile('../documents/[...].pdf'); .

    
M Miller 09.07.2013 20:23
quelle

Tags und Links