已经提出了类似的问题,但这本身就是一个问题,因为我无法弄清楚它为什么会发生。
这是我目前用来重命名文件的代码:
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