Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-无法重命名文件-“;文件名、目录名或卷标语法不正确;_Php - Fatal编程技术网

PHP-无法重命名文件-“;文件名、目录名或卷标语法不正确;

PHP-无法重命名文件-“;文件名、目录名或卷标语法不正确;,php,Php,在Windows 2012服务器上尝试使用PHP重命名(长)文件名时,我遇到了一个问题 文件名为: WG VERS3220 - ObNr 1370 - Datum 25.01.2018 Sparte Bündel Summe 0,00 Datum 25.01.2017 Objekt 1342 WEG Guild 44-46.htm 我总是收到以下错误: 文件名、目录名或卷标语法不正确。 (代码:123) 但当我检查有效的文件名时: 我认为不支持的字符没有任何问题 有什么想法吗?那不行

在Windows 2012服务器上尝试使用PHP重命名(长)文件名时,我遇到了一个问题

文件名为:

WG VERS3220 - ObNr 1370 - Datum 25.01.2018 Sparte Bündel  Summe 0,00  Datum 25.01.2017  Objekt 1342  WEG Guild 44-46.htm
我总是收到以下错误:

文件名、目录名或卷标语法不正确。 (代码:123)

但当我检查有效的文件名时:

我认为不支持的字符没有任何问题


有什么想法吗?

那不行。我无法“重命名”该文件。文件已经在那里了。我想重新命名它(没有任何umlaut,还有一个更短的名字)-当我删除最后的字符(公会44-46)-它现在可以工作了。长度有问题吗?我以为windows中的最大文件长度是255?啊,这太令人惊讶了。你找到一个确定的最大长度了吗?这可能是更多研究的一个很好的起点。我读到的一件事是,最大长度实际上是某些api的整个路径。如果您的文件位于高度嵌套的目录结构的某个深处,您可能会遇到max.char lenth。您可以尝试将文件的位置更改为结构中较高的(几个)文件夹,然后重试对该文件的操作。你只是在使用PHP的
rename()
函数吗?它在Windows7(而不是Server2012)开发环境中运行良好。但有趣的是,CLI在对文件名为的目录使用
dir/p
时出现问题。。。但是我可以
REN
很好。