Hi @all,
weil ich sehr häufig mehrere Datein in ASCII konvertieren muss, habe ich nach eine automatisierte Lösung gesucht aber nicht gefunden. Und habe ich selber eine Lösung erstellt. Unten ist meine Lösung, ich hoffe es wird euch helfen.
1. Diese Code als eine PHP Datei speichern.
2. Die zu konvertierende Bilder in Ordner kopieren wo sich PHP befindet
3. PHP ein Mal ausführen
Dabei wird solche Änderungen gemacht:
- Dateinamen zu Kleinbuchstaben konvertiert
- Leerzeichen usw werden zum "-"
- Ungültige Karakter (alles außer a-z, 0-9, . , -) werden entfernt
$files = scandir("./");
foreach( $files as $filename_original ) {
$filename_ascii_safe = trim ( iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $filename_original) );
$filename_ascii_safe = preg_replace("#[^a-z0-9]#sim", "-", $filename_ascii_safe);
$filename_ascii_safe = preg_replace("#\-+#sim", "-", $filename_ascii_safe);
$filename_ascii_safe = preg_replace("#\-(\w+)$#simU", ".$1", $filename_ascii_safe);
$filename_ascii_safe = strtolower($filename_ascii_safe);
rename($filename_original, $filename_ascii_safe);
$output .= " $filename_original --- $filename_ascii_safe
";
}
echo $output ;
V2: nur Bilder akzeptieren,
V2: nur Bilder akzeptieren, andere Dateien nicht berühren:
$files = scandir("./");
foreach( $files as $filename_original ) {
if( !preg_match("#\.(jpg|png|gif)$#sim", $filename_original) ) continue;
$filename_ascii_safe = trim ( iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $filename_original) );
$filename_ascii_safe = preg_replace("#[^a-z0-9]#sim", "-", $filename_ascii_safe);
$filename_ascii_safe = preg_replace("#\-+#sim", "-", $filename_ascii_safe);
$filename_ascii_safe = preg_replace("#\-(\w+)$#simU", ".$1", $filename_ascii_safe);
$filename_ascii_safe = strtolower($filename_ascii_safe);
rename($filename_original, $filename_ascii_safe);
$output .= " $filename_original --- $filename_ascii_safe
";
}
echo $output ;
?>
Neuen Kommentar schreiben