用于清理文件名的正则表达式为preg_replace('/[^\w\._]+/', '_', $fileName);
我正在寻找一种方法来重命名FTP服务器上的文件(FTP客户端允许使用正则表达式进行批量重命名?或某些PHP脚本?)使用该正则表达式。
此外,我想重命名MySQL (sql查询包括正则表达式?)中列中所有行的值,
例如,如果值为http://test.com/content/plugins/audio/uploading/uploads/test song - test title 1.mp3
以删除目录路径并保留基本名称,并使用相同的正则表达式重命名它。
FTP和MySQL中的输出应为test_song___test_title_1.mp3
。
不幸的是,我无法访问SSH。
提前谢谢!
答案 0 :(得分:0)
解决方案是使用SmartFTP,对于这项工作,我使用了它的函数"Bulk Rename"。
然后对于MySQL,我使用了这个查询:
UPDATE [table]
SET [column] = REPLACE([column], '!', '_'),
[column] = REPLACE([column], '@', '_'),
[column] = REPLACE([column], '#', '_'),
/* add as many as you wish(the same ones as you put in smartftp bulk rename function) */
[column] = REPLACE([column], '\'', '_'),
[column] = REPLACE([column], '\\', '_')
我希望它对某人有用。