Как убрать из имен файлов на сервере с php - PullRequest
1 голос
/ 13 июня 2011

Продолжение моего вопроса здесь: Добавляет косые черты как прямые косые черты в php ,

Я хочу убрать косые черты из имен файлов, которые есть на моем сервере. косые черты были добавлены во время загрузки файла (magic_quotes).

Пожалуйста, как мне это сделать? спасибо

Ответы [ 2 ]

2 голосов
/ 13 июня 2011

Вот, пожалуйста:

<?php
$path         =  '/path/to/files/dir/';
$file_types   =  'txt,doc,pdf';

foreach (glob($path.'*.{'.$file_types.'}', GLOB_BRACE) as $filename){
    if(rename($filename , stripslashes($filename))){
        echo 'Renamed file from '.$filename.' to '.stripslashes($filename).'<br />';
    } else{
        echo 'Failed to rename file from '.$filename.' to '.stripslashes($filename).'<br />';
    }
}
?>

Изменить путь к файлам и список типов файлов через запятую.

Обновление с кодом Аскера в комментариях:

$dir='cv'; 
if(is_dir($dir)){ 
    if ($dh = opendir($dir)) { 
        while (false !== ($file = readdir($dh))) { 
            if ($file != "." && $file != "..") { 
                $file2 = $dir."/".$file; $newfile=$dir."/".stripslashes(urldecode($file)); 
                if(rename($file2, $newfile)){
                    echo "renamed from $file2 to $newfile <br>";
                } else{
                    echo "error renaming from $file2 to $newfile <br>";
                } 
            } 
        } 
        closedir($dh); 
    } 
}
2 голосов
/ 13 июня 2011
...