Hi!
Ich habe mir ein (recht) normales Upload script gebastelt. Das Funktioniert auch wunderbar. Zur überprüfung des Dateinamens beim Upload habe ich das hier eingebaut:
Nun, unter Windows sind aber noch viel mehr Zeichen in Dateinamen erlaubt, wie z.B Umlaute, Leerzeichen,....
Die Datei einfach umbenennen möchte ich nicht, denn der User soll die Datei wieder finden können. Den User die Datei umbenennen lassen (wie oben durch Ausgabe einer Fehlermeldung) auch nicht, zumindest nicht, wenn es nicht absolut notwendig ist.
Unter anderem werden auch Bilder hochgeladen. Der Pfad incl. Dateinamen des Bildes wird dann in eine MySQL Datenbank gespeichert. Die Bilder können dann angezeigt werden, indem unter src im img-Tag der Pfad aus der Datenbank eingefügt wird.
Meine Fragen:
Welche Zeichen machen denn überhaupt Probleme, und wo? (1&1 Server)
Wie sieht dann der entsprechende Ausdruck hinter ereg aus?
Mfg,
Stefan
PS: Ich habe im Netz sowie hier im Forum schon gesucht, und zwar schon Stunden, nur gefunden habe ich nichts... Also Danke ich um so mehr für jeden Hinweis! :-)
Ich habe mir ein (recht) normales Upload script gebastelt. Das Funktioniert auch wunderbar. Zur überprüfung des Dateinamens beim Upload habe ich das hier eingebaut:
PHP-Code:
if (ereg('^[a-zA-Z0-9._-]*$', $dateiname)) {
//Alles OK --> Weiterverarbeitung
}
else {
return "Fehler: Ungültiger Dateiname \"" . htmlspecialchar ($dateiname) . "\"";
};
Die Datei einfach umbenennen möchte ich nicht, denn der User soll die Datei wieder finden können. Den User die Datei umbenennen lassen (wie oben durch Ausgabe einer Fehlermeldung) auch nicht, zumindest nicht, wenn es nicht absolut notwendig ist.
Unter anderem werden auch Bilder hochgeladen. Der Pfad incl. Dateinamen des Bildes wird dann in eine MySQL Datenbank gespeichert. Die Bilder können dann angezeigt werden, indem unter src im img-Tag der Pfad aus der Datenbank eingefügt wird.
Meine Fragen:
Welche Zeichen machen denn überhaupt Probleme, und wo? (1&1 Server)
Wie sieht dann der entsprechende Ausdruck hinter ereg aus?
Mfg,
Stefan
PS: Ich habe im Netz sowie hier im Forum schon gesucht, und zwar schon Stunden, nur gefunden habe ich nichts... Also Danke ich um so mehr für jeden Hinweis! :-)
Kommentar