使用glob() 依上次修改日期對檔案進行排序
使用檔案系統時,通常需要依照檔案的屬性來組織文件,例如他們的修改時間。在 PHP 中,glob() 函數可用於檢索檔案數組,但預設情況下,它不會保留檔案的順序。
挑戰:按修改日期排序
假設您有一個使用glob() 獲取的文件數組,並且您希望根據每個文件的最後修改日期時間戳對該數組進行排序。循環遍歷數組並手動將其排序到單獨的數組中是一個可行的選擇,但這不是最有效或最方便的方法。
解決方案:使用 create_function()
在 PHP 7.2 之前,create_function() 函數提供了定義匿名函數的方法。它可以與usort() 結合使用,比較文件的修改時間並對數組進行相應的排序:
在這段程式碼中,create_function() 定義了一個匿名函數,它減去文件的修改時間將第一個檔案($a) 與第二個檔案($b) 進行比較。這個減法的結果顯示了它們的時間順序。然後,usort() 使用此函數根據修改時間對 $myarray 進行升序排序。
不建議使用 create_function()
不幸的是,create_function() 已被棄用在 PHP 7.2 中棄用並在 PHP 8.0 中被刪除。這意味著上述程式碼將不再在現代版本的 PHP 中運作。
替代解決方案
使用glob() 以上次修改日期對文件進行排序的替代方案包括:
以上是如何以上次修改日期對使用 PHP 的 glob() 函數擷取的檔案進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!