 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
26.12.2004, 17:18
|
#1
|
|
TP-Supporter
Registriert seit: Jul 2002
Ort: Frankfurt/M.
|
Sonderzeichen im Dateinamen bei Dateiuploads
hallo alle zusammen,
auf einer Seite können Besucher Bilder hochladen.
Dabei überprüfe ich Dateityp (jpeg, gif usw.), die Abmessungen und die Dateigröße in KB.
Aber wie das halt so ist... Besucher laden natürlich auch gern mal bilder hoch mit Namen wie "Mein Türkeiurlaub Nr. 12" oder ähnliche Namen mit Leerzeichen, Umlauten, Sonderzeichen etc. Ich betreibe eine Linuxserver, der damit Probleme bekommen kann.
Wie löst ihr dieses Problem?
Man könnte natürlich alles das per RegEx abfangen, aber damit ALLE sonderzeichen, umlaute usw. abzufangen stell ich mir echt heftig vor...
Eine andere Möglichkeit wäre, die Datei vor dem Speichern irgendwie umzubenennen, was ich aber eigentlich nicht machen will - der Orginalname soll erhalten bleiben, soweit möglich...
Wie geht ihr sowas an?
Frohe Feiertage,
Grüße,
Daniel
|
|
|
26.12.2004, 18:30
|
#2
|
|
Guest
Registriert seit: Aug 2002
|
Wie wäre es wenn du den Original-Namen in der DB vermerkst und die Datei nach deinen Vorstellungen umbenennst?
|
|
|
26.12.2004, 18:32
|
#3
|
|
TP-Specialist
Registriert seit: Nov 2004
Ort: Ich komme aus dem Zauberwald
|
Zitat:
|
Wie löst ihr dieses Problem?
|
Ich würd den Dateinamen aus microtime() generieren oder eine Information, die für deine Weiterverarbeitung sehr interessant sein kann. Wenn du User sich z.b. anmelden müssen, hast du ja einen Benutzernamen. Dann würde sich vielleicht anbieten: benutzername0001, 0002 usw..
Zitat:
|
Man könnte natürlich alles das per RegEx abfangen, aber damit ALLE sonderzeichen, umlaute usw. abzufangen stell ich mir echt heftig vor...
|
Ist doch nur eine Zeile.
Zitat:
|
Eine andere Möglichkeit wäre, die Datei vor dem Speichern irgendwie umzubenennen, was ich aber eigentlich nicht machen will - der Orginalname soll erhalten bleiben, soweit möglich...
|
Du kannst dem Bild eine eindeutige ID geben und den originalen Dateinamen in ner Datenbank speichern.
__________________
Zwei Dinge sind Unbestreitbar:- In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
- Die Erde ist eine Scheibe!
Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!
|
|
|
26.12.2004, 18:46
|
#4
|
|
TP-Insider
Registriert seit: Dec 2003
Ort: nienburg (raum hannover)
|
Zitat:
|
Zitat von halla
Man könnte natürlich alles das per RegEx abfangen, aber damit ALLE sonderzeichen, umlaute usw. abzufangen stell ich mir echt heftig vor...
|
is garnich so heftig
PHP-Code:
preg_match_all('%[a-z0-9 ]%i', $str, $match);
aber umbenennen musst du sie damit immernoch. warum hat dein server denn probleme damit? alternativ kannst du die datei auch umbenennen und dateiname|richtiger name in einer DB speicher (simple textdatei oder so)
__________________
in eile kam er,
in schwarzem gewand,
aus den tiefen des waldes,
ein einsamer mann, ein geschoepf der freiheit,
ein geschoepf ohne furcht,
doch alle nannten sie ihn nur T O D
|
|
|
26.12.2004, 23:57
|
#5
|
|
TP-Supporter
Registriert seit: Jul 2002
Ort: Frankfurt/M.
|
hallo alle zusammen,
vielen dank für eure antworten.
ich benenne die datei sowiso vor dem speichern um, indem ich einen timestamp voranstelle und dann den orginaldateinamen hinterherschiebe.
auf die art vermeide ich, daß 2mal derselbe name gespeichert (und eine datei evtl. überschrieben) wird...
ich bastel gerade an einer klasse zur bildverarbeitung rum,
das hier ist die entsprechende methode, vielleicht kanns ja jemand gebrauchen ;-)
PHP-Code:
/**
* ValidateFileName
* Prueft, ob der Dateiname valide ist
*/
function ValidateFileName() {
if(preg_match("/^[\w0-9\-_]+\.[a-zA-Z0-9]{2,6}$/",$this->UploadedFile['name'])) {
return TRUE;
} else {
return FALSE;
}
} // function ValidateFileName
grüße,
daniel
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 07:31 Uhr.
|
 |