我的问题的续集:Addslashes在php、中显示为正斜杠
我想从服务器上的文件名中删除斜杠。斜杠是在文件上传过程中添加的(magicquotes)。
请问我该怎么办?感谢
开始:
<?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);
}
}
http://php.net/function.stripslashes