从filename - php中删除非字母数字字符

时间:2017-01-22 21:46:36

标签: php preg-replace

我正在使用重命名功能来删除文件名中的非字母数字字符。

在论坛中进行了一些搜索之后,我找到了一个很好的解决方案来摆脱这些字符,但它似乎并不适合我。

echo $filename."\n";
$newfilenamecorrect=preg_replace("/^[a-z0-9A-Z.-_]+$/", '',$filename);
$newfilenamecorrect=dirname($path). '/' . $newfilenamecorrect;
echo $newfilenamecorrect."\n";

$filename是文件名本身(例如Picture.jpg), $path - 是原始路径+文件名(例如./galleries/Picture.jpg) $newfilenamecorrect应该是新的文件名,包括路径和文件名。

不知道为什么,但是当我跑步时,我得到的回声如下:

000���5.jpg ./galleries/iPhone/000���5.jpg
2D-Art-Iataândesson-Cruz-Gnomon.jpg ./galleries/iPhone/2D-Art-Iataândesson-Cruz-Gnomon.jpg

我对php有点新手,对于我所犯的任何愚蠢错误感到抱歉:)

0 个答案:

没有答案