Как определить максимальную длину имени файла в поле linux?Программно определить максимальную длину файла:
Предпочитаемый язык программирования PHP.
Как определить максимальную длину имени файла в поле linux?Программно определить максимальную длину файла:
Предпочитаемый язык программирования PHP.
Вы хотите, чтобы pathconf
or fpathconf
, которые не подвергаются (пока) в PHP. (Когда они есть, они, вероятно, будут posix_pathconf
.)
Вы также можете выложить на getconf
, интерфейс командной строки с той же функциональностью. Попробуйте это на вашей системе:
$ getconf NAME_MAX /tmp
$ getconf PATH_MAX /tmp
Максимальный размер файла для Большинство Linux-файловых систем - 255. Возможно, вам лучше всего использовать это как общую константу и модифицировать, чтобы она соответствовала вашей известной файловой системе в Linux. Вот хороший comparison of the file systems, который может быть использован. Здесь указана максимальная длина файла.
Нет необходимости в программном определении. это 255 байт.
Редакция:Редактирование: вы можете иметь более длинные имена файлов в очень немногих файловых системах (я думаю, reiser), но если вы придерживаетесь 255, ваше приложение будет использоваться при любой установке Linux.
Я думаю, вы могли бы использовать realpath(). Я не уверен в наилучшем подходе, но, например:
$ maxlen = 264-strlen (realpath ('index.php')));
264 - 255 (максимальный путь lim) + 9 ('index.php' len). Таким образом, вычитание текущей длины пути из предела дает максимальную длину текущего пути.
Вы можете использовать константу PHP_MAXPATHLEN
Вы путаете путь макс LEN (обычно 4096) с именем файла макс Len (обычно 255). – mark4o