is_file和很长的文件名

时间:2014-05-23 19:09:35

标签: php

在Windows 7 64位上运行本地开发,PHP 5.4。

is_file()存在问题。鉴于2个现有文件,这里会发生什么:

$file1 = "...."; // 189 characters file path
$file2 = "...."; // 265 characters file path

is_file($file1); // returns true
is_file($file2); // returns false

问题是什么?文件名是否有限制?

在Linux生产中,即使名称长度超过256个字符,问题也不存在。

谢谢。

2 个答案:

答案 0 :(得分:5)

Windows将单个路径限制为260个字符:File names and file name extensions: frequently asked questions

  

文件名可以多长时间?
这取决于完整的长度   文件的路径(例如C:\ Program Files \ filename.txt)。视窗   将单个路径限制为260个字符。这就是你可能的原因   复制具有很长文件的文件时偶尔会出错   将路径命名为路径长于文件原始路径的位置   位置。

这是Google windows 7 filename length的第一个结果。

答案 1 :(得分:0)

如果父目录没有为运行php文件的用户设置+ x(运行权限),则

is_file()返回false。

字体:is_file()