2009-07-24 4 views

ответ

5

Вы хотите, чтобы pathconf or fpathconf, которые не подвергаются (пока) в PHP. (Когда они есть, они, вероятно, будут posix_pathconf.)

Вы также можете выложить на getconf, интерфейс командной строки с той же функциональностью. Попробуйте это на вашей системе:

$ getconf NAME_MAX /tmp

$ getconf PATH_MAX /tmp

3

Максимальный размер файла для Большинство Linux-файловых систем - 255. Возможно, вам лучше всего использовать это как общую константу и модифицировать, чтобы она соответствовала вашей известной файловой системе в Linux. Вот хороший comparison of the file systems, который может быть использован. Здесь указана максимальная длина файла.

5

Нет необходимости в программном определении. это 255 байт.

Редакция:

Редактирование: вы можете иметь более длинные имена файлов в очень немногих файловых системах (я думаю, reiser), но если вы придерживаетесь 255, ваше приложение будет использоваться при любой установке Linux.

0

Я думаю, вы могли бы использовать realpath(). Я не уверен в наилучшем подходе, но, например:

$ maxlen = 264-strlen (realpath ('index.php')));

264 - 255 (максимальный путь lim) + 9 ('index.php' len). Таким образом, вычитание текущей длины пути из предела дает максимальную длину текущего пути.

+1

Вы путаете путь макс LEN (обычно 4096) с именем файла макс Len (обычно 255). – mark4o

0

Вы можете использовать константу PHP_MAXPATHLEN

Смежные вопросы