重命名文件有时不起作用

时间:2016-05-03 10:11:00

标签: php regex

已经提出了类似的问题,但这本身就是一个问题,因为我无法弄清楚它为什么会发生。

这是我目前用来重命名文件的代码:

AsciitoBinaryClass *asciitobinaryClass = [[AsciitoBinaryClass alloc]init];
len = [asciitobinaryClass AsciitoBinary:a Num1:bin];

$ name看起来像'歌词:John Newman - 再次爱我-vDx27Ye2gC4.ogg',所以我试图删除所有不支持的字符和添加到它们的视频网址

上面的代码大部分时间都可以使用,但偶尔也会失败,而且我会留下2个文件:

$name = $titles . $vidid . '.' . 'ogg';
$newname = preg_replace("/[^\w-(). !]/", "", $name);
$fixedname = str_replace($vidid, '', $newname);
rename($newname, $fixedname);

所以它似乎被错误地重命名(没有删除URL)并保留旧文件的0字节副本。

我知道$ vidid等于网址,所以它完全是随机的。

我想要实现的目标是重命名:

Lyrics: John Newman - Love Me Again-vDx27Ye2gC4.ogg (0 bytes + original name)

Lyrics - John Newman - Love Me Again-vDx27Ye2gC4.ogg (normal size + removed special characters)

对此:

Lyrics: John Newman - Love Me Again-vDx27Ye2gC4.ogg

0 个答案:

没有答案