我正在使用重命名功能来删除文件名中的非字母数字字符。
在论坛中进行了一些搜索之后,我找到了一个很好的解决方案来摆脱这些字符,但它似乎并不适合我。
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有点新手,对于我所犯的任何愚蠢错误感到抱歉:)