すべてのディレクトリとサブディレクトリからすべてのファイル、サイズ、ファイルパスを取得するLinuxコマンド

すべてのディレクトリとサブディレクトリからすべてのファイル、サイズ、ファイルパスを取得するLinuxコマンド

PHPコードでLinuxコマンドを使用して、すべてのディレクトリとサブディレクトリからすべてのファイル名とサイズとファイルパスを取得する方法。

スキャンコードを実行しています。ファイルをインポートしてスキャンを実行する必要があります。問題は、Linuxサーバーで実行するとスキャンを実行するのに時間がかかることです。だから私は私のPHPスクリプトにLinuxコマンドを追加し、サーバーがLinuxであることを確認し、私の機能の代わりにこれらのコマンドを使用してスキャンを高速化できると思いました。

ベストアンサー1

素朴なソリューション:

$files = system('find / -printf "%p %b\n"');

説明する:

  • $files = system(...)指定されたシェルコマンドが実行され、出力が変数に保存されます$files
  • find / -printf("%p %b\n")このfindコマンドは、ファイルシステムのルートから始まるすべてのファイルを一覧表示します/。これら-printfのオプションは、find指定された形式に従って出力形式を指定します。フォーマット文字列"%p %b\n"の結果は、find出力ファイルパス(%p)、スペース、512バイトチャンク単位のファイルサイズ(%b)、最後に改行文字(\n)です。これらのオプションは、ファイルサイズを1 KBチャンクで印刷するフォーマット指定子-printfもサポートします。%k

おすすめ記事