| (Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI... |
Diskussion: $_FILES['datei']['name'] mit str_replace ändern, funktioniert nicht. im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hi, ich möchte einen Dateinamen von Umlauten entfernen, dafür nutze ich folgendes Skript, Wenn ich $_FILES['datei']['name'] druch z.B. "öäü" ...
![]() |
| | #1 (permalink) |
| Guest Likes: | Anzeige Hi, ich möchte einen Dateinamen von Umlauten entfernen, dafür nutze ich folgendes Skript, Wenn ich $_FILES['datei']['name'] druch z.B. "öäü" ersetze funktioniert es auch nur in der jetzigen Konstellation leider nicht. PHP-Code: |
|
| | #2 (permalink) |
| Member of Honour ![]() | Probier mal VARIABLE= ereg_replace("SUCHSTRING", "ERSATZSTRING", VARIABLE) Ich glaub bei str_replace war irgendein Haken, der dafür sorgt, dass das anders arbeitet, als man annimmt. lg Brabax
__________________ << Wir leben bereits im morgigen Gestern, doch vom gestrigen Morgen sind wir noch weit entfernt. >> << Träume sind Schäume. Es liegt an dir ob du sie lebst oder ein Schaumschläger bist! >> << Erst wenn man beginnt zu implizieren, wird man merken, dass einem sowieso keiner richtig zuhört. >> |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Guest Likes: | Das Funktioniert leider auch nicht, wie gesagt wenn ich z.B. $_FILES['datei']['name'] durch "öööääü" ersetze, funktioniert das ganze wunderbar, also muss das ja mit $_FILES['datei']['name'] zusammenhängen, aber inwiefern $_FILES['datei']['name'] anders in seiner Beschaffenheit als "öööääü" ist, ist mir unklar. |
|
| | #4 (permalink) |
| Member of Honour ![]() | [EDIT]: sorry, beim ersten mal zu schnell gelesen und nur die Hälfte mitgenommen [/EDIT]Wenn du beide Variablen mal echo'est, gibt es dann einen Unterschied?
__________________ << Wir leben bereits im morgigen Gestern, doch vom gestrigen Morgen sind wir noch weit entfernt. >> << Träume sind Schäume. Es liegt an dir ob du sie lebst oder ein Schaumschläger bist! >> << Erst wenn man beginnt zu implizieren, wird man merken, dass einem sowieso keiner richtig zuhört. >> |
| | |
| | #5 (permalink) |
| Guest Likes: | Nein, was mir gerade durch den Kopf geht, ist $_FILES['datei']['name'] eventuell kein String(Vom Variable Type) und kann deswegen nicht bearbeiten werden? EDIT: naja laut gettype($_FILES['datei']['name']); ist es ein string, komisch, ich verstehe es nicht. |
|
| | #6 (permalink) |
| Member of Honour ![]() | Eigentlich nicht, aber das kannst du ganz einfach testen, indem du Code: $dname = (string) $_FILES['datei']['name']; EDIT: jetzt warst du zu schnell Geht es denn, wenn du andere Zeichen ersetzt?
__________________ << Wir leben bereits im morgigen Gestern, doch vom gestrigen Morgen sind wir noch weit entfernt. >> << Träume sind Schäume. Es liegt an dir ob du sie lebst oder ein Schaumschläger bist! >> << Erst wenn man beginnt zu implizieren, wird man merken, dass einem sowieso keiner richtig zuhört. >> |
| | |
| | #7 (permalink) |
| Guest Likes: | Nein, EDIT: hab es auch so versucht: $dname = "".$_FILES['datei']['name'].""; geht auch nicht. |
|
| | #8 (permalink) |
| Member of Honour ![]() | Hmpf...kniffelig. Ein Workarround wäre sowas: Code: $dname = $_FILES['datei']['name'];
$dname = str_replace("ä", "ae", $_FILES['datei']['name']);
$dname = str_replace("Ä", "Ae", $dname);
$dname = str_replace("ö", "oe", $dname);
$dname = str_replace("Ö", "Oe", $dname);
$dname = str_replace("ü", "ue", $dname);
$dname = str_replace("Ü", "Ue", $dname);
$dname = str_replace("ß", "ss", $dname); Code: $dname = $_FILES['datei']['name'];
$dname = (string) $dname;
$dname = str_replace("ä", "ae", $dname);
$dname = str_replace("Ä", "Ae", $dname);
$dname = str_replace("ö", "oe", $dname);
$dname = str_replace("Ö", "Oe", $dname);
$dname = str_replace("ü", "ue", $dname);
$dname = str_replace("Ü", "Ue", $dname);
$dname = str_replace("ß", "ss", $dname); Ich würde noch tippen, dass PHP wegen der Umlaute meckert, weil es halt keine Standard-Zeichen sind... aber das würde dann ja auch die anderen Tests aushebeln. ist ['name'] denn auch richtig? Muss das nicht ['tmp_name'] sein? *alles durcheinander werf bis was gescheites rauskommt*?
__________________ << Wir leben bereits im morgigen Gestern, doch vom gestrigen Morgen sind wir noch weit entfernt. >> << Träume sind Schäume. Es liegt an dir ob du sie lebst oder ein Schaumschläger bist! >> << Erst wenn man beginnt zu implizieren, wird man merken, dass einem sowieso keiner richtig zuhört. >> |
| | |
| | #9 (permalink) |
| Guest Likes: | ja name ist richtig, die variable wird ja ausgegeben also die "bearbeite" $dname aber es sein keine Änderungen ausgeführt worden. EDIT: Sinn gemäß ist der code so PHP-Code: |
|
| | #10 (permalink) |
| Member of Honour ![]() | Was sagt denn folgendes: (Datei mit "ä" im Namen hochladen!) Code: $dname = $_FILES['datei']['name']; $firstpos1 = strpos($_FILES['datei']['name'], "ä"); $firstpos1 = strpos($dname, "ä"); echo $firstpos1." : ".$firstpos2;
__________________ << Wir leben bereits im morgigen Gestern, doch vom gestrigen Morgen sind wir noch weit entfernt. >> << Träume sind Schäume. Es liegt an dir ob du sie lebst oder ein Schaumschläger bist! >> << Erst wenn man beginnt zu implizieren, wird man merken, dass einem sowieso keiner richtig zuhört. >> |
| | |
| | #11 (permalink) |
| Guest Likes: | doch es arbeitet, ich bekomme den text ja ausgegeben also befindet sich php in der IF Abfrage PHP-Code: |
|
| | #12 (permalink) |
| Guest Likes: | YEAH ich hab das Problem gelöst: der Fehler ist an ner ganz anderen stelle unzwar: Der Doctype stand auf: iso-8859-1 ich habe ihn auf UTF-8 geändert und siehe da es geht, lol |
|
| | #13 (permalink) |
| Member of Honour ![]() | D.h. __theoretisch__, dass $_FILES nichts enthält (also keine "ä") und dies entsprechend an die dname weitergibt. Da scheint ganz generell was nicht zu passen mit der $_FILES oder sie ist nicht übertragbar. Da weisz ich leider nicht weiter.
__________________ << Wir leben bereits im morgigen Gestern, doch vom gestrigen Morgen sind wir noch weit entfernt. >> << Träume sind Schäume. Es liegt an dir ob du sie lebst oder ein Schaumschläger bist! >> << Erst wenn man beginnt zu implizieren, wird man merken, dass einem sowieso keiner richtig zuhört. >> |
| | |
| | #14 (permalink) |
| Guest Likes: | 13 Sekunden vor deinen Thread hab ich gepostet, das ich es hin bekommen habe ^^ EDIT: Danke für deine Hilfe |
|
| | #15 (permalink) |
| Member of Honour ![]() | autsch... das war der Fehler? :-D Fieses Ding, da muss man erstmal drauf kommen. Dann war wenigstens meine Spekulation oben nicht ganz so abwegig, wie ich dachte ![]() Muss ich mir für die Zukunft merken. Freut mich, dass es läuft
__________________ << Wir leben bereits im morgigen Gestern, doch vom gestrigen Morgen sind wir noch weit entfernt. >> << Träume sind Schäume. Es liegt an dir ob du sie lebst oder ein Schaumschläger bist! >> << Erst wenn man beginnt zu implizieren, wird man merken, dass einem sowieso keiner richtig zuhört. >> |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| DOS-Ordner verschieben in einer Batch Datei funktioniert nicht | Bogus | Code Kitchen | 12 | 21.05.06 21:01 |
| str_replace für array realisierbar? | TeeKayo2 | (Web-) Design und webbasierte Sprachen | 7 | 04.05.06 17:17 |
| Passwort durch dass ändern der Sam Datei ändern | Xalon | (In)security allgemein | 3 | 08.01.06 18:54 |
| PHP-Datei per JS einbinden, funktioniert nicht. | Iker C. | (Web-) Design und webbasierte Sprachen | 12 | 11.11.03 15:12 |
| Datei Infos ändern in C.. | PeaceTreaty | Code Kitchen | 5 | 26.08.02 21:21 |