Mailinglisten-Archive |
Hallo Yannik,
Yannik Hampe schrieb:
> Wenn der Dateiname vom Client ein null-Byte enthält (xyz.php%00.txt)
> Dann wird dir php bestätigen, dass der Dateiname auf .txt endet. Beim
> verschieben der Datei geht alles ab dem nullbyte verloren.
> Um das mal zu verdeutlichen:
> ----
> %php -a
> Interactive shell
>
> php > echo bin2hex("a\0b");
> 610062
> php > var_dump(file_exists("a"));
> bool(false)
> php > touch("a\0b");
> php > var_dump(file_exists("a"));
> bool(true)
> ----
> Wenn du kannst solltest du die Dateien in einem Ordner speichern, der
> für den Webserver nicht zugänglich ist und die Datein umbenennen (zum
> Beispiel mit Hilfe einer id aus einer DB oder mit uniqid. Oder du
> wendest einmal rawurlencode() auf die Funktion an:
> ----
> php > echo rawurlencode("a\0b");
> a%00b
> ----
Danke für die Mühe, so ganz habe ich das noch nicht verstanden und
verdaut, ich muss mir das ganz in Ruhe nochmal anschauen.
Liebe Grüße
Armin
--
Armin Briatta
Fotografie und Webdesign
Kirchbergweg 2
64367 Mühltal-Trautheim
(0173) 6 54 97 10
www.briatta.de
php::bar PHP Wiki - Listenarchive