php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.05.2006, 15:56  
Benutzer
 
Registriert seit: 08.01.2004
Beiträge: 42
Locutus007
Standard Nach Download -> Seite erscheint in HTML-Code

Hi!

Folgendes Problem. Ich habe einen Download per PHP realisiert. Hier der Code

Code:
// Header setzen
header("Content-Length: $fsize");
header("Pragma: public");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
header("Content-Transfer-Encoding: binary");
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=" . $filename);
	
// Datei öffnen und zum Download freigeben
$fp = fopen($filepath, "rb");
fpassthru($fp);

Das funktioniert auch alles bestens. Es kommt das Downloadfenster und alles klappt. Nur wenn ich danach im Browser auf irgend einen Link klicke, erscheint die darauf folgende Seite im HTML-Code, also HTML wird vom Browser nicht formatiert sondern die einzelnen Tags werden einfach angezeigt. Beim nächsten Klick ist alles wieder ok.

Ich vermute, dass es an den Headern liegt, die ich für den Download gesetzt habe. Ich müsste diese irgendwie zurücksetzen können, damit man dann nach dem Download weiterhin ordentlich navigieren kann. Kennt jemand dieses Phänomen und die Lösung?

Danke schonmal im voraus.

Viele Grüße!
Daniel
Locutus007 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 23.05.2006, 16:09  
Benutzer
 
Benutzerbild von Mikay Kun
 
Registriert seit: 03.03.2006
Beiträge: 61
PHP-Kenntnisse:
Anfänger
Mikay Kun
Standard

Schau doch ma das du das ohne die Header hinbekommst. Dann ersparst du dir so einiges! Und das mit dem Download kannst du acuh noch ganz anders machen! ICh hab da man n Bespiel:

PHP-Code:
<?php

echo '<meta http-equiv="refresh" content="5; URL='.$filepath.'">
'
;

?>
Mikay Kun ist offline  
Alt 24.05.2006, 08:51  
Benutzer
 
Registriert seit: 08.01.2004
Beiträge: 42
Locutus007
Standard

Danke, aber das hilft mir nich weiter. Die Header sind wichtig. Nach Deiner Methode funktioniert es nicht in allen Browsern, außerdem würden Textdateien im Browser angezeigt werden und nicht geladen werden.

Es müsste eine Funktion geben, die die Header wieder zurücksetzt.
Locutus007 ist offline  
Alt 24.05.2006, 09:24  
Gast
 
Beiträge: n/a
Standard

Zitat:
// Datei öffnen und zum Download freigeben
$fp = fopen($filepath, "rb");
fpassthru($fp);
Warum benutzt du nicht readfile() oder so ?
Und wenn schon fopen(), dann auch mal fclose() hinzufügen.
 
Alt 24.05.2006, 12:54  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von Locutus007
außerdem würden Textdateien im Browser angezeigt werden und nicht geladen werden.
Also das darfst Du nochmal genauer erklären.
Wie soll ein Browser die Datei anzeigen ohne sie zu laden?
Meinst Du vielleicht speichern statt laden?
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 24.05.2006, 16:15  
Erfahrener Benutzer
 
Registriert seit: 13.05.2006
Beiträge: 434
Curanai ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Was wäre, wenn Du den DL in einem verpöhnten PopUp - eigenes Fenster! - machst? Der hat dann seinen eigenen Header und das Biest schließt sich, wenn das DL-Fenster kommt... (habe das selber auf einer Musikseite so gemacht).
__________________
Manche Menschen sind wie Schnitzel - nicht zäh, aber beidseitig bekloppt!
Curanai ist offline  
Alt 25.05.2006, 15:03  
Benutzer
 
Registriert seit: 08.01.2004
Beiträge: 42
Locutus007
Standard

Jo, das ist ne gute Idee... werde ich so machen, anders geht es wohl nicht. Danke für den Hinweis.

@Gerhard: Wollte doch nur einen Anglizismus vermeiden. Die Textdatei wird angezeigt, aber eben nicht "gedownloaded" *grußel*. Bzw. sie wird nicht zum Download bereitgestellt. Das ist besser Übrigens....toller Avatar. Ich liebe die Filme..
Locutus007 ist offline  
Alt 26.05.2006, 01:31  
Benutzer
 
Registriert seit: 08.01.2004
Beiträge: 42
Locutus007
Standard

Mhh also ich hab den Download jetzt per Popup gelöst und ... nunja im IE funktioniert das bestens. Allerdings existiert das Problem in Firefox nach wie vor. Ich muss die Header irgendwie zurücksetzen... Ideen?
Locutus007 ist offline  
Alt 26.05.2006, 02:46  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hast du bitte mal ein Onlinebeispiel verfügbar, damit man das mal austesten kann?
imported_Ben ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] [S] Html oder Php Code Hamii27 HTML, Usability und Barrierefreiheit 9 23.07.2008 22:32
Nur bestimmten Html Code zulassen? litterauspirna PHP Tipps 2008 5 29.04.2008 12:30
Dynamische HTML Seite parsen blaus PHP Tipps 2008 10 17.03.2008 14:44
Html Code maskieren mit php Mania PHP Tipps 2008 5 12.10.2007 08:34
HTML Seite - herunterladen verhindern? tayke HTML, Usability und Barrierefreiheit 5 22.05.2007 19:15
HTML Code in MySQL DB speichern FireFIghter Datenbanken 3 27.12.2006 15:45
Erzeugten html code an php übergeben test022 PHP Tipps 2006 5 11.08.2006 08:53
dynamisch generierte HTML Seite speichern PHP Tipps 2005-2 10 19.10.2005 14:22
HTML Code Simon9990 PHP Tipps 2005-2 4 08.08.2005 13:17
Mysql & HTml Code PHP Tipps 2005-2 1 12.07.2005 04:30
Seite zwischen URL und Download Zangelo PHP Tipps 2005-2 0 16.06.2005 22:22
PHP Frame in einer HTML Seite PHP Tipps 2004 9 20.07.2004 16:39
Eine seite mit html includen PHP Tipps 2004 4 19.07.2004 13:05
Code Html for food Off-Topic Diskussionen 11 19.07.2004 00:19
Seite zu langsam, Code kürzen PHP Tipps 2004 1 08.07.2004 14:55

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
wenn eine bestimmte zeit ist download freigeben html php, downloadseite php, downloadseite mit php, html code für download, downloadseite html, php download seite, html downloadseite, refresh nach content-disposition:, html code erscheint im browser, warum htmlcode erscheint, download php danach internetseite, php download von andere seiten, html code für download seiten, php header reload nach download, download html code mit php, html download seite, wie öffne ich cod nach dem downloaden, php download html tags, website langsamm beim refresh php html, application octet-stream datei öffnen

Alle Zeitangaben in WEZ +1. Es ist jetzt 17:15 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.