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