我在重命名现有文件时遇到了一个奇怪的问题:
我的服务器上有一系列需要通过文件选择对话框选择然后重命名的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
从此我得到一个文件未找到错误。所有权限都是正确的,并且此代码已经正常工作,具有更明智的命名文件。顺便说一句,我无法控制文件的名称,它们可以完全包含任何字符。
有人可以建议一种方法来让重命名功能将这些文件识别为现有文件,并相应地重命名它们吗?
非常感谢最高
答案 0 :(得分:0)
trim()
和str_replace()
所有非法加入$ anewname var