-1

用于清理文件名的正则表达式是preg_replace('/[^\w\._]+/', '_', $fileName);

我正在寻找一种方法来重命名 FTP 服务器上的目录中的文件(FTP 客户端允许使用正则表达式进行批量重命名?或一些 php 脚本?)使用该正则表达式。

此外,我想重命名 MySQL 中一列中所有行的值(包括正则表达式的 sql 查询?),例如,如果该值是http://test.com/content/plugins/audio/uploading/uploads/test song - test title 1.mp3删除目录路径并保留基本名称,并使用相同的正则表达式重命名它。

输出应test_song___test_title_1.mp3在 FTP 和 MySQL 中。

不幸的是,我无法访问 SSH。

先感谢您!

4

1 回答 1

0

解决方案是使用SmartFTP,对于这项工作,我使用了它的功能“批量重命名”

然后对于 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], '\\', '_')

我希望它对某人有用。

于 2012-11-06T13:07:16.603 回答