问题描述
||
在这里我的问题的续集:PHP中,斜线显示为正斜线,
我想从服务器上的文件名中删除斜杠。在文件上传期间添加了斜线(magic_quotes)。
请我该怎么办?谢谢
解决方法
干得好:
<?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 />\';
}
}
?>
更改文件路径和文件类型的逗号分隔列表。
在评论中使用asker的代码进行更新:
$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