phpbar.de logo

Mailinglisten-Archive

[php] PDF-Download nach redirect

[php] PDF-Download nach redirect

Stefan Schiller php_(at)_phpcenter.de
Tue, 14 Aug 2001 15:17:19 +0200


Hallo Liste,

die PDF's liegen in einem Verzeichnis ausserhalb des Document-Root.

Via MySql wird überprüft ob der User die Berechtigung für das PDF hat, und
die Seite wird
anschliessend an den Browser gesendet.

Nachdem am Anfang die PDF's die doppelte Groesse nach dem Download hatte wie
auf der Platte,
wird nun die Filesize mit uebergeben.

Warum will der Mx-Explorer das PHP-Script downloaden??

Aufruf:

"<FORM ACTION=\"/download.php?center={$files[$i]}&u=$u&p=$p\"
METHOD=\"POST\">\n".
"<INPUT TYPE=\"hidden\" NAME=\"u\" VALUE=\"$u\">\n".
"<INPUT TYPE=\"hidden\" NAME=\"p\" VALUE=\"$p\">\n".
"<INPUT TYPE=\"hidden\" NAME=\"center\" VALUE=\"{$files[$i]}\">\n".
"<INPUT TYPE=\"submit\" VALUE=\"{$files[$i]}&nbsp;($size kb)\">".
"</FORM>";


download.php:

$handle=opendir('/home/XXX/academies');
while (false!==($file = readdir($handle))) {
	if ($file != "." && $file != "..") {
		array_push($files,$file);
	}
}
closedir($handle);


for($i=0;$i<count($files);$i++) {
	for($j=0;$j<count($perms);$j++) {

		if(strcmp($center,$perms[$j])==0) {
			$len = filesize("/home/XXX/academies/". $perms[$j]);
			header("Content-type: application/pdf");
			header("Content-Length: $len");
			header("Content-Disposition: attachment; filename=" . $perms[$j]);
			_(at)_readfile("/home/XXX/academies/". $perms[$j]);
		}

	}
}

Ich steh maechtig auf dem Schlauch!!

Euer Stefan



php::bar PHP Wiki   -   Listenarchive