Korrekter Weg, um einen Datei-Download (in PHP) auszulösen?

7

Schnelle (und hoffentlich einfache) Frage: Ich muss einen Download einer PDF-Datei auslösen, die von einer PHP-Datei generiert wird. Ich kann das tun:

%Vor%

Aber sollte ich das anders machen? Javascript vielleicht? Das obige funktioniert, aber das Fenster zeigt "Loading ..." bis der Download beginnt. Ich möchte dem Benutzer ein Feedback geben, dass etwas passiert.

Ideen?

Hinweis: Ich habe bereits den Code, der die Datei vom Server sendet. Es funktioniert perfekt. Bei dieser Frage geht es einfach darum, wie man dieses Skript am besten vom Client aufruft.

Einige Websites haben Downloads, die automatisch gestartet werden. Wie machen sie das?

Das Problem mit einer direkten URL ist, dass wenn die PHP-Skriptfehler die Inhalte der bestehenden Seite ersetzen, was ich nicht will.

    
cletus 15.01.2009, 05:36
quelle

4 Antworten

13

BEARBEITEN

Ja Javascript, etwas wie:

%Vor%

Wenn Sie wirklich wissen müssen, wann der Download gestartet wird, müssen Sie wahrscheinlich einen iframe aufrufen und dann das Ereignis "onload" verwenden. Beispiel:

%Vor%     
Luca Matteis 15.01.2009, 05:45
quelle
3

Die Lösung, die Sie zum Herunterladen haben, ist in Ordnung. Vielleicht möchten Sie ein visuelles Feedback an den Benutzer erwägen, vielleicht indem Sie Javascript verwenden, um eine "Downloading, please wait message" auf der aktuellen Seite anzuzeigen, wenn der Link über einen onclick-Handler angeklickt wird. Oder geben Sie einfach an, dass der Download einige Zeit dauern kann, um neben dem Link zu starten. Da IE die Seite entlädt und alle GIF-Animationen stoppt, bevorzuge ich Textanzeigen für Dateidownloads.

    
tvanfosson 15.01.2009 05:47
quelle
2

täuschen Sie es vor, indem Sie einen onclick-Ereignishandler verwenden, um ein sich drehendes gif zu zeigen

%Vor%     
Al W 15.01.2009 05:42
quelle
2

Automatisch startende Downloads verwenden normalerweise ein Meta-Tag innerhalb einer normalen Seite:

%Vor%

In diesem Beispiel wird der Browser in 10 Sekunden auf download.php umgeleitet.

    
Karsten 15.01.2009 08:19
quelle

Tags und Links