Hallo Zusammen
habe ein Problem mit einer Dateiausgabe an den Browser.
Dem User soll nach einem Klick auf einen Link eine Datei ausgegeben werden.
Dies passiert dadurch, dass eine neue Seite geöffnet wird. Diese gibt zuerst die Header an den Browser aus und dann schickt er den Dateiihnalt.
Dies klappt zwar, jedoch wird die Datei nicht korrekt im Downloadfeld vorbenannt. Statt dem durch das Script vordefinierten Namen wird der Name des PHP-Scripts ausgegeben.
Was genau mache ich hier falsch?
Habe die Routine von FPDF genommen und leicht abgeändert. in FPDF funktioniert alles, jedoch in meinem Script nicht.
Grüsse und Danke für Eure Hilfe.
sphenix
habe ein Problem mit einer Dateiausgabe an den Browser.
Dem User soll nach einem Klick auf einen Link eine Datei ausgegeben werden.
Dies passiert dadurch, dass eine neue Seite geöffnet wird. Diese gibt zuerst die Header an den Browser aus und dann schickt er den Dateiihnalt.
Dies klappt zwar, jedoch wird die Datei nicht korrekt im Downloadfeld vorbenannt. Statt dem durch das Script vordefinierten Namen wird der Name des PHP-Scripts ausgegeben.
Was genau mache ich hier falsch?
Habe die Routine von FPDF genommen und leicht abgeändert. in FPDF funktioniert alles, jedoch in meinem Script nicht.
Grüsse und Danke für Eure Hilfe.
sphenix
PHP-Code:
public function OutFile(){ // Gibt File an Browser aus
$EventData = $this->Prepare(); // Daten werden aus Klassenmembern aufbereitet
if($this->_IsReady == true) {
if(isset($_SERVER['HTTP_USER_AGENT']) &&
strpos($_SERVER['HTTP_USER_AGENT'],'MSIE'))
header('Content-Type: application/force-download');
else
header('Content-Type: application/octet-stream');
header('Content-Length: '.strlen($EventData));
header('Content-disposition: attachment; filename="'.$this->_FileName.'"');
echo $EventData;
}else{
throw new Exception("ciCal::OutFile(): Fehler...");
}
}
Kommentar