//Arabic Sonderzeichen, Akzente, Umlaute im Dateiname -> rename

Thomas_Jung

Erfahrenes Mitglied
Code:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
Ich versuche die Datei Fuكballer.txt unzubenennen leider bekomme ich die Fehlermeldung Result too large.
(Ergebnis zu groß)
Das ك ist das Problem.
Gibt es eine Möglichkeit die Datei mit PHP umzubenennen?

<?php
//Arabic Sonderzeichen, Akzente, Umlaute im Dateiname umbenennen
$alt = utf8_decode("Fuكballer.txt");
$neu = "Fussballer.txt";
echo rename($alt, $neu);
//Fehlermeldung ist: Warning: rename(Fu?baller.txt,Fussballer.txt): Result too large in
?>

</body>
</html>
 
Da sehe ich zwei Probleme:
  1. Das utf8_decode wandelt dieses kryptische Zeichen in ein Fragezeichen um. Danach ist der Dateiname ein anderer und eine Datei mit dem neuen Namen existiert nicht.
  2. Das Fragezeichen ist gar nicht erlaubt in Dateinamen.
 
Danke für die Info Sempervivum.

Die einzige Frage war ja ob ich mit PHP diese Datei umwanden kann.
Vieleicht kommen in den anderen Lokale Dateien auf meinem PC auch Latin/Arabic Zeichen vor.
Es geht hierbei um Lokale Dateien. (Es war nur ein Versuch)
Vieleicht finde ich im Netz noch eine Möglichkeit.
 
Klappt bei mir nicht.

PHP:
if( file_exists( 'Fuكballer.txt' )){ echo 'Ist vorhanden'; } else { echo 'Datei nicht gefunden'; }

Ergebnis: Datei nicht gefunden

rename('Fuكballer.txt', 'Fussballer.txt');

[B]Warning[/B]: rename(Fuكballer.txt,Fussballer.txt): Das System kann die angegebene Datei nicht finden. (code: 2)
???
 
Dann bin ich erst Mal ratlos weil es bei mir auf Anhieb funktioniert hat. Zeigt dein Dateiexplorer den Namen genau so an? PHP-Datei als UTF-8 gespeichert? Auf welchem Betriebssystem spielt sich das Ganze ab?
 
Datei ist als UTF-8 gespeichert, Betriebsystem Windows 11.
Getestet auf:
XAMPP Version: 1.8.3
Windows Version: Windows 8 64-bit


PHP:
$zeile = "Datei wurde erstellt \r\n";
file_put_contents("Fuكballer.txt", $zeile);

Wenn ich die Datei vorher erstelle, findet er die Datei Fuكballer.txt
//BEI if( file_exists( 'Fuكballer.txt' )){ echo 'Ist vorhanden'; } else { echo 'Datei nicht gefunden'; }
Die Datei wird aber nicht erstellt/angezeigt.:)

Beim anschließenden rename('Fuكballer.txt', 'Fussballer.txt');
Gibt es auch keine Fehlermeldung, dass die Datei nicht gefunden wurde.
Es wird einfach eine neue Datei Fussballer.txt erstellt.

Es ist schon Klasse, was alles möglich ist.

Fazit
Ich kann die Datei nicht mit PHP umbenennen.
Ich kann die Datei nicht mit PHP kopieren.
Ich kann die Datei nicht mit PHP löschen .
Wenn ich eine MP3-Datei mit diesem Namen erstelle, kann ich Sie abspielen (y)
Code:
<audio controls>
<source src="Fuكballer.mp3" type="audio/mpeg">
Your browser does not support the audio element.
</audio>

Mit Windows Produkten wie File Renamer o. Ä. funktioniert das.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück