【发布时间】:2010-11-13 18:52:15
【问题描述】:
如何确定 linux 机器上的最大文件名长度?
PHP 编程语言优先。
【问题讨论】:
标签: php linux path filenames name-length
如何确定 linux 机器上的最大文件名长度?
PHP 编程语言优先。
【问题讨论】:
标签: php linux path filenames name-length
您想要pathconf or fpathconf,它(还没有)在 PHP 中公开。 (如果是,他们可能是posix_pathconf。)
您也可以使用getconf,这是一个具有相同功能的命令行实用程序界面。在你的系统上试试这个:
$ getconf NAME_MAX /tmp
$ getconf PATH_MAX /tmp
【讨论】:
无需以编程方式确定它。它是 255 字节。
编辑:您可以在极少数文件系统(reiser,我相信)上拥有更长的文件名,但如果您坚持使用 255,您的应用程序将可用于任何 linux 安装。
【讨论】:
大多数 linux 文件系统的最大文件长度为 255。您最好将其用作通用常量并进行修改以适应 linux 中已知的文件系统。这是一个很好的comparison of the file systems 可以使用。最大文件长度列在那里。
【讨论】:
您可以使用常量 PHP_MAXPATHLEN
【讨论】:
我认为你可以使用 realpath()。我不确定最好的方法,但例如:
$maxlen=264-strlen(realpath('index.php')));
264 是 255(最大路径限制)+ 9('index.php' 长度)。因此,从限制中减去当前路径长度可以得到最大当前路径长度。
【讨论】: