glob() を使用した最終変更日によるファイルの並べ替え
ファイル システムを操作する場合、属性に基づいてファイルを整理することが望ましいことがよくあります。 、変更時間など。 PHP では、glob() 関数を使用してファイルの配列を取得できますが、デフォルトではファイルの順序は保持されません。
課題: 変更日による並べ替え
glob() を使用して取得したファイルの配列があり、各ファイルの最終変更日時スタンプに基づいてこの配列を並べ替えたいとします。配列をループし、手動で別の配列に並べ替えることは実行可能なオプションですが、最も効率的または便利なアプローチではありません。
解決策: create_function() を使用する
PHP 7.2 より前では、create_function() 関数によって匿名関数を定義する方法が提供されていました。これを usort() と組み合わせて使用すると、ファイルの変更時間を比較し、それに応じて配列を並べ替えることができます。
usort($myarray, create_function('$a,$b', 'return filemtime($a) - filemtime($b);'));
このコードでは、create_function() はファイルの変更時間を減算する匿名関数を定義しています。最初のファイル ($a) から 2 番目のファイル ($b) まで。この減算の結果は、それらの時系列順序を示します。その後、usort() はこの関数を使用して、変更時刻に基づいて $myarray を昇順に並べ替えます。
create_function() の非推奨
残念ながら、create_function() は廃止されました。 PHP 7.2 で非推奨となり、PHP 8.0 で削除されました。これは、上記のコードが最新バージョンの PHP では機能しなくなることを意味します。
代替ソリューション
glob() を使用して最終変更日でファイルを並べ替える代替ソリューションには、次のものが含まれます。 :
以上がPHP の glob() 関数で取得したファイルを最終変更日で並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。