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