Программно определите максимальную длину имени файла

Двумя вещами, которые я люблю, являются свойства Automatic, таким образом, можно свернуть код вниз еще больше:

private string _name;
public string Name
{
    get
    {
        return _name;
    }
    set
    {
        _name = value;
    }
}

становится

public string Name { get; set;}

Также объектные инициализаторы:

Employee emp = new Employee();
emp.Name = "John Smith";
emp.StartDate = DateTime.Now();

становится

Employee emp = new Employee {Name="John Smith", StartDate=DateTime.Now()}
5
задан Allan Bowe 27 November 2009 в 14:57
поделиться

4 ответа

Вам нужен pathconf или fpathconf , которые (пока) не представлены в PHP. (Когда это так, это, вероятно, будет posix_pathconf .)

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

$ getconf NAME_MAX / tmp

$ getconf PATH_MAX / tmp

6
ответ дан 18 December 2019 в 10:48
поделиться

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

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

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

0
ответ дан 18 December 2019 в 10:48
поделиться

Максимальная длина файла для большинства файловых систем Linux составляет 255. Вам, вероятно, лучше всего использовать это как общую константу и изменить ее, чтобы она соответствовала вашей известной файловой системе в Linux. . Вот хорошее сравнение файловых систем , которые могут быть использованы. Там указана максимальная длина файла.

4
ответ дан 18 December 2019 в 10:48
поделиться

программно определять его не нужно. это 255 байт.

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

5
ответ дан 18 December 2019 в 10:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: