正则表达式 - 重命名FTP上的文件并重命名MySQL中的列值

时间:2012-11-04 18:20:05

标签: mysql regex ftp

用于清理文件名的正则表达式为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。

提前谢谢!

1 个答案:

答案 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], '\\', '_')

我希望它对某人有用。