obiwan1973: Mit PHP Dateien im Browser anzeigen

Beitrag lesen

Hallo zusammen,

ich habe es raus. Ist aber doch aufwändiger, als ich dachte.

Beim Content-Type-Header muss man schon ein wenig differenzieren, je nachdem, was es für ein Dateityp ist. Aber ich habe mir den Aufwand gemacht, und das Ergebnis ist wirklich gut. Zwar öffnet sich die Word-Datei nicht - wie erhofft - im Browser, sondern der Browser fragt, was mit der Datei geschehen soll, aber egal.

So sieht mein Code jetzt aus. Allen vielen Dank.

  
  
if(file_exists($filefullpath))  
{  
	$filename = basename($filefullpath);  
	//  
	$filesize = filesize($filefullpath);  
	//  
	$separator = ".";  
	//  
	$check = explode($separator, $filename);  
	//  
	if(count($check) > 1)  
	{  
		$fileextension = strtolower($check[count($check) - 1]);  
		//  
		header('Content-Description: File Transfer');	  
		//  
		if($fileextension . "" === "pdf")  
		{  
			header("Content-Type: application/pdf");  
		}  
		elseif($fileextension . "" === "zip")  
		{  
			header("Content-Type: application/zip");  
		}  
		elseif($fileextension . "" === "doc")  
		{  
			header('Content-Type: application/octet-stream');  
		}  
		elseif($fileextension . "" === "docx")  
		{  
			header('Content-Type: application/octet-stream');  
		}	  
		//				  
		header('Content-Disposition: inline; filename='.basename($filefullpath));  
		header('Content-Transfer-Encoding: binary');  
		header('Expires: 0');  
		header('Cache-Control: must-revalidate');  
		header('Pragma: public');  
		header('Content-Length: ' . filesize($filefullpath));  
		//  
		ob_clean();  
		//	  
		flush();  
		//	  
		readfile($filefullpath);	  
	}  
}  
  

Allen schon mal einen angenehmen Wochenausklang.

Gruß aus der Schwäbischen Pampa (Sachsenheim)

Thomas