unlink von Dateien mit Umlauten
Sir Quicksand
- php
Hallo Leute,
wie bekomme ich auf einem Linux Server mittels der unlink() Funktion Dateien mit Umlaute / Sonderzeichen gelöscht?
Pfad usw. sind korrekt und funktionieren bei "normalen" Namen.
unlink(utf8_encode(""_testö.txt"))
Irgendwie macht er aus "_testö.txt" = "_testö.txt"
Ich habe es auch mit diesem hier und ohne Konvertierung probiert: _test%F6.txt
Leider sagt der Server: No such file or directory in ....
Hochladen kann ich die Datei mit ö.
Hello,
in welcher Codierung ist Dein Script abgespeichert?
Liebe Grüße aus Syburg
Tom vom Berg
in welcher Codierung ist Dein Script abgespeichert?
Habe "iso-8859-1 westeuropäisch" und "windows 1252 westeuropäisch" benutzt, löschen geht nicht. Habe UTF-8 probiert, dann ist schon meine ganze Ausgabe Käse und löschen geht weiterhin nicht.
Hello,
solange ich nicht den gesamtem Ablauf kenne, werde ich Dir vermutlich nicht helfen können.
probier mal dieses kleine Scriptlein...
<?php ### umlaute.php ###
touch ('übeltäter.datei');
$fh = fopen('übeltäter.datei','r+');
fseek($fh, 0, SEEK_END);
fwrite($fh, "Mein bunter Text\r\n");
fclose($fh);
if (isset($_GET['delete']))
{
if (unlink('übeltäter.datei'))
{
echo "Datei wurde gelöscht";
}
}
else
{
readfile('übeltäter.datei');
}
?>
Das klappt bei mir einwandfrei.
Liebe Grüße aus Syburg
Tom vom Berg
Hi Du,
es liegt am Server (vServer von 1blu, ca. 3 Jahre alt). Das Teil ist schlecht eingestellt, deshalb funzt das wohl nicht. Auf meinen anderen Webspaces funzt Dein Script mit den Umlauten.
Sir Quicksand
Hello,
es liegt am Server (vServer von 1blu, ca. 3 Jahre alt). Das Teil ist schlecht eingestellt, deshalb funzt das wohl nicht. Auf meinen anderen Webspaces funzt Dein Script mit den Umlauten.
Dann schau Dir mal mit http://web-sniffer.net/ oder einem anderen Tool die Header an, die der Server liefert. Ruf dazu mit dem Sniffer eins deiner Scripte auf. Aus der Antwort sollte erkennbar sein, in welcher Kodierung der Server die Antwort anbietet. In der gleichen würde Dein Browser dann antworten.
Wenn da nun UTF-8 gesprochen wird, musst Du die Requestdaten für die Verwendung im Filesystem ggf. erst wieder mit utf8_decode() http://de.php.net/manual/de/function.utf8-decode.php behandeln.
Dann sollte der zugriff auf die Files mit Umlaut-Namen aber funktionieren.
Liebe Grüße aus Syburg
Tom vom Berg
Hello,
Wenn da nun UTF-8 gesprochen wird, musst Du die Requestdaten für die Verwendung im Filesystem ggf. erst wieder mit utf8_decode() http://de.php.net/manual/de/function.utf8-decode.php behandeln.
Dann sollte der zugriff auf die Files mit Umlaut-Namen aber funktionieren.
Das bringt mich auf die Idee, in Formularen immer ein <hidden>-Element mit Prüfdaten unterzubringen, um erkennen zu können, od der Browser UTF-8 oder ISO8859-X spicht.
Wie müssten die Prüfdaten denn am besten aussehen, um die Erkennung möglichst sicher (mit hoher Wahrscheinlichkeit) durchführen zu können? Was meint Ihr?
Liebe Grüße aus Syburg
Tom vom Berg
echo $begrüßung;
Das bringt mich auf die Idee, in Formularen immer ein <hidden>-Element mit Prüfdaten unterzubringen, um erkennen zu können, od der Browser UTF-8 oder ISO8859-X spicht.
Der Browser wird normalerweise die Kodierung der Seite verwenden, in der das Formular steht.
Wie müssten die Prüfdaten denn am besten aussehen, um die Erkennung möglichst sicher (mit hoher Wahrscheinlichkeit) durchführen zu können? Was meint Ihr?
Vor gar nicht allzu lager Zeit hatte mal jemand eine URL genannt, unter der das Verhalten der Browser mit und ohne accept-charset untersucht worden war. Mehr Stichwörter zur Recherche fallen mir nicht ein.
Und bei MySQL hatte sich im Jahre 2004 auch schon mal jemand mit dem Thema beschäftigt: New in 4.1: Unicode and Other Funny Characters
echo "$verabschiedung $name";
Hello,
Das bringt mich auf die Idee, in Formularen immer ein <hidden>-Element mit Prüfdaten unterzubringen, um erkennen zu können, od der Browser UTF-8 oder ISO8859-X spicht.
Der Browser wird normalerweise die Kodierung der Seite verwenden, in der das Formular steht.
Mit geht es da ja eher um die unnormalen Fälle :-)
Die Linktipps werde ich mal verfolgen. Vielleicht kommt ja 'was dabei heraus.
Liebe Grüße aus Syburg
Tom vom Berg