5

Linux ボックスでファイル名の最大長を決定するにはどうすればよいですか?

PHP プログラミング言語で推奨されます。

4

5 に答える 5

6

PHP で (まだ) 公開されていないpathconfまたはfpathconfが必要です。(彼らがそうであるとき、彼らはおそらくそうなるでしょうposix_pathconf。)

getconf同じ機能へのコマンドライン ユーティリティ インターフェイスである にシェル アウトすることもできます。システムでこれを試してください:

$ getconf NAME_MAX /tmp

$ getconf PATH_MAX /tmp

于 2009-07-24T15:51:29.697 に答える
5

プログラムで決定する必要はありません。255 バイトです。

編集:非常に少数のファイルシステム(reiser、私は信じています)でより長いファイル名を持つことができますが、255に固執すると、アプリはどのLinuxインストールでも使用できます.

于 2009-07-24T15:33:22.520 に答える
4

ほとんどのLinux ファイル システムの最大ファイル長は 255 です。これを汎用定数として使用し、Linux の既知のファイル システムに合わせて変更するのがおそらく最善です。以下は、使用される可能性のあるファイル システムの優れた比較です。最大ファイル長がそこにリストされています。

于 2009-07-24T15:31:33.880 に答える
0

realpath() を使用できると思います。最善のアプローチはわかりませんが、たとえば:

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

264 は 255 (最大パス リム) + 9 ('index.php' len) です。したがって、制限から現在のパスの長さを差し引くと、現在のパスの長さが最大になります。

于 2009-07-24T15:39:26.003 に答える