以编程方式确定最大文件名长度

时间:2009-07-24 15:27:23

标签: php linux path filenames name-length

如何确定linux盒子上的最大文件名长度?

PHP编程语言中的首选。

5 个答案:

答案 0 :(得分:5)

没有必要以编程方式确定它。它是255个字节。

编辑:你可以在很少的文件系统上使用更长的文件名(reiser,我相信),但是如果你坚持使用255,你的应用程序将可用于任何Linux安装。

答案 1 :(得分:5)

你想要pathconf or fpathconf,它们在PHP中没有公开。 (如果是,他们可能会posix_pathconf。)

您也可以向getconf发送shell,这是一个具有相同功能的命令行实用程序接口。在您的系统上试试这个:

$ getconf NAME_MAX /tmp

$ getconf PATH_MAX /tmp

答案 2 :(得分:3)

大多数 linux文件系统的最大文件长度为255.您可能最好将其用作通用常量并修改以适合您在Linux中的已知文件系统。这是一个很好的comparison of the file systems可能会被使用。那里列出了最大文件长度。

答案 3 :(得分:1)

您可以使用常量PHP_MAXPATHLEN

答案 4 :(得分:0)

我认为你可以使用realpath()。我不确定最佳方法,但例如:

$ MAXLEN = 264-strlen的(真实路径( '的index.php')));

264是255(最大路径lim)+ 9('index.php'len)。因此从极限减去电流路径长度可以得到最大电流路径长度。