0

我在重命名现有文件时遇到了一个奇怪的问题:

我的服务器上有一系列需要通过文件选择对话框选择然后重命名的 html 文件。

打开对话框的表单通过 JavaScript 调用并正确打开对话框,允许选择一个文件并重命名它,直到我遇到一个包含一些(可能)非法字符的文件。此时我得到一个文件未找到错误。

重命名的来源和目的地是相同的,只是需要更改文件名。

我的适用于其他文件的代码如下(为了清楚起见,对变量进行了重命名):

$dest_path = realpath(dirname(dirname(__FILE__))) . $miDestination ;
$targefile = $dest_path  .  basename( $_FILES["thesrcfile"]["name"]);
$newName = $dest_path . $anewname . ".html";
rename($targefile,$newName);

如前所述,这可以正常工作,直到我到达一个名称如下的文件:

These are "very" strangely-named file's!.html

从这里我得到一个找不到文件的错误。所有权限都是正确的,并且此代码已与更明智的命名文件一起正常工作。顺便说一句,我无法控制文件的名称,它们实际上可以包含任何字符。

任何人都可以建议一种方法来获取重命名功能以将这些文件识别为存在,并相应地重命名它们吗?

非常感谢

最大限度

4

1 回答 1

0

trim()并将str_replace()所有非法字符转换为 $anewname var

于 2013-06-11T11:34:29.397 回答