如何确定 linux 机器上的最大文件名长度?
首选PHP编程语言。
您想要pathconf
orfpathconf
,它们(还没有)在 PHP 中公开。(当他们是,他们可能会是posix_pathconf
。)
您也可以getconf
使用 命令行实用程序界面来实现相同的功能。在你的系统上试试这个:
$ getconf NAME_MAX /tmp
$ getconf PATH_MAX /tmp
无需以编程方式确定它。它是 255 个字节。
编辑:您可以在极少数文件系统上拥有更长的文件名(我相信是 reiser),但如果您坚持使用 255,您的应用程序将可用于任何 linux 安装。
大多数linux 文件系统的最大文件长度为255。您最好将其用作通用常量并进行修改以适应 linux 中已知的文件系统。这是可能使用的文件系统的一个很好的比较。最大文件长度列在那里。
您可以使用常量 PHP_MAXPATHLEN
我认为你可以使用 realpath()。我不确定最好的方法,但例如:
$maxlen=264-strlen(realpath('index.php')));
264 是 255(最大路径限制)+ 9('index.php' 长度)。因此,从限制中减去当前路径长度可以得到最大当前路径长度。