我想使用PHP重命名文件。PHP文件重命名 - 文件名中的非法字符
我循環遍歷包含文件的目錄,一旦找到文件,我想使用rename()來進行實際的重命名。
到目前爲止這麼簡單。
問題是需要重命名的文件在文件名中包含非法字符。 我可以從名稱中刪除非法字符,但是當我想用新名稱重命名文件時,找不到它。
所以一旦我到了可以使用的地步rename() PHP會發出警告:系統找不到指定的文件。 (代碼:2)。
PHP似乎無法將文件識別爲文件(is_file()返回false)。 有問題的文件是pdf文件,我可以在Acrobat Reader中沒有任何問題的情況下打開它。 該文件是使用Quartz在Mac上生成的,我正在使用Windows。
有沒有人有一個想法,我可以如何讓PHP識別名稱中的非法字符作爲文件的文件?
PS
這是我的代碼:
$dataDirectory = new RecursiveDirectoryIterator($folders);
foreach ($dataDirectory as $dataName => $dataFileName) {
$isfile = is_file($dataFileName); // false for files with illegal character in filename
$result = rename($dataFileName, 'testname'); // generates warning mentioned above
}
謝謝。您指出有腳本語言可以使用本地Unicode文件名。你能建議一個嗎? – copossum
Node.js就是一個例子。 –