Использование str_replace для переименования имен файлов [закрыто]

У меня странная проблема, и я надеюсь, что ты сможешь мне помочь. У меня есть диктор на моем сервере с изображениями. Теперь я хочу прокрутить каждое изображение и проверить, содержит ли имя файла специальную букву типа a, o, u или?. Я сделал это с помощью str_replace (), но он не работает с именами файлов. Если я использую обычную строку типа «aouer», проблем нет. (После этого я хочу переименовать файлы, но это не проблема).

function rename_files() {

    //get path of folder (it's WP)
    $path = wp_upload_dir()['path'];

    //loop through folder
    foreach(glob($path . "/*") as $file) {  


            $filepath = pathinfo( $file )

            //get filename with special characters of file a€“ works
            $filename = $filepath['filename'];

            $specialChars = array("a", "o", "u", "A", "O", "U", "?");

            $replaceChars = array("ae", "oe", "ue", "Ae", "Oe", "Ue", "ss");
            //replace special characters - doesn't work
            $newName = str_replace($specialChars, $replaceChars, $filename);

            var_dump($newName);

            //$newFile = $filepath['dirname'] . '/' . $newName . '.' . $filepath['extension'];
            //rename($file, $newFile);  

    }

}

Я также пробовал это с локальной папкой на моем компьютере - той же проблемой, поэтому это не проблема WordPress.

Может кто-то догадаться, что случилось?

Благодаря!

php,file,str-replace,

-1

Ответов: 0

Использование str_replace для переименования имен файлов [закрыто]

У меня странная проблема, и я надеюсь, что ты сможешь мне помочь. У меня есть диктор на моем сервере с изображениями. Теперь я хочу прокрутить каждое изображение и проверить, содержит ли имя файла специальную букву типа a, o, u или?. Я сделал это с помощью str_replace (), но он не работает с именами файлов. Если я использую обычную строку типа «aouer», проблем нет. (После этого я хочу переименовать файлы, но это не проблема).

function rename_files() {

    //get path of folder (it's WP)
    $path = wp_upload_dir()['path'];

    //loop through folder
    foreach(glob($path . "/*") as $file) {  


            $filepath = pathinfo( $file )

            //get filename with special characters of file a€“ works
            $filename = $filepath['filename'];

            $specialChars = array("a", "o", "u", "A", "O", "U", "?");

            $replaceChars = array("ae", "oe", "ue", "Ae", "Oe", "Ue", "ss");
            //replace special characters - doesn't work
            $newName = str_replace($specialChars, $replaceChars, $filename);

            var_dump($newName);

            //$newFile = $filepath['dirname'] . '/' . $newName . '.' . $filepath['extension'];
            //rename($file, $newFile);  

    }

}

Я также пробовал это с локальной папкой на моем компьютере - той же проблемой, поэтому это не проблема WordPress.

Может кто-то догадаться, что случилось?

Благодаря!

0-1PHP, файл, ул замены,
Похожие вопросы