Mailinglisten-Archive |
AG> Guten Morgen Joerg, Kai und Norbert, Nabend Albrecht, AG> vielen Dank fuer Eure Hinweise und Tips! kein thema.. AG> Wenn ich das richtig verstanden habe: AG> - Das Verzeichnis, in dem die Dateien liegen, AG> sollte nur für den Webserver zugaenglich sein. jepp AG> - Das Skript prueft, für welche Dateien der user AG> berechtigt ist und zeigt nur diese in einer Liste an. jepp AG> - Der user klickt auf einen Eintrag in der Liste AG> und der Server bietet die Datei zum dl an: jepp jau.. pass auf das du vorher keine header sendest.. ich würde übrigens eine java-script funktion basteln, die per klick auf einen link oder button ein fenster öffnet (window.open) und in dem neuen fenster den download start... dann kannst du nämlich in dem neuen fenster auch konfortabel fehlermeldungen (wenn file nich existiert oder falsche permission). ausserdem is manchmal beim ie das problem, dass er das file speichert und das browser-fenster schliesst.. das würde mit einem neuen jscript-fenster egal sein.. AG> $size = filesize($file); AG> header("Content-type: application/octet-stream"); AG> header("Content-disposition: attachment; filename=$name"); AG> header("Content-Length: $size"); AG> header("Pragma: no-cache"); AG> header("Expires: 0"); AG> readfile($file); würd ich in eine library-funktion packen, damit die variablen abgeschottet sind und nur durch die funktions-argumente beeinflusst werden können.... AG> - Joerg meinte, die Dateien intern mit einem verschluesseltem Namen AG> abzuspeichern und die Namen in der db zu verwalten. durch den obigen punkt (permission-check) ist das nicht notwendig. AG> (Dazu muesste man noch vor dem Abspeichern und vor dem dl AG> die Datei jeweils umbenennen). AG> - Norbert schlug noch zusätzlich vor, ein Verzeichnis ausserhalb des AG> docroot zu nehmen. das ist eine sehr gute idee und weit besser als .htaccess AG> mit vielen Gruessen AG> Albrecht mfg kai -- Kai Meder www.cn-media.de abraxxxas_(at)_fraggers.de
php::bar PHP Wiki - Listenarchive