Mailinglisten-Archive |
So sprach Stefan am Wed, Jun 13, 2001 at 12:54:55AM +0200: > sp=E4etr zum downlaod anbieten will oder =E4hnliches. Was gibt es noch f= =FCr > Verwechslungsfreie Methoden ? Einen eindeutigen Verzeichnisnamen mit 'tempnam' generieren lassen, und die Datei da hinein kopieren. Dadurch hst Du dann zwar in jedem dieser Verzeichnisse nur 1 Datei, und die Verzeichnisnamen sehen reichlich 'unsch=F6n' aus - aber der Dateiname bleibt intakt. Du m=FC=DFtest dann al= so sowohl den Verzeichnisnamen, als auch den Dateinamen Dir merken. Also, quasi so: <?php $dir_name =3D tempnam('/var/www/html/dateien', 'UPLOAD'); // PHP >=3D 4.0.3 erzeugt auch eine Datei bei tempnam - l=F6schen und Fehler // ignorieren _(at)_unlink($dir_name); mkdir($dir_name, 0701); // $dest mu=DF in Datenbank gespeichert werden $dest =3D $dir_name . '/' . $HTTP_POST_FILES['datei']['name']; move_uploaded_file($HTTP_POST_FILES['datei']['tmp_name'], $dest); ?> -> http://php.net/manual/en/function.tempnam.php Hierbei hast Du allerdings das Problem, das es eine extrem kurze Zeitspanne zwischen Befehl 2 und Befehl 3 gibt, in der jemand anderes das Verzeichnis mit dem gleichen Namen erzeugen *k=F6nnte* - f=FCr realistisch halte ich das Problem aber nicht... Alexander Skwar --=20 How to quote: http://learn.to/quote (german) http://quote.6x.to (english) Homepage: http://www.digitalprojects.com | http://www.iso-top.de iso-top.de - Die g=FCnstige Art an Linux Distributionen zu kommen Uptime: 8 hours 8 minutes
php::bar PHP Wiki - Listenarchive