Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Isih Fail yang Diambil dengan Fungsi glob() PHP mengikut Tarikh Terakhir Diubah Suainya?

Bagaimanakah Saya Boleh Isih Fail yang Diambil dengan Fungsi glob() PHP mengikut Tarikh Terakhir Diubah Suainya?

DDD
Lepaskan: 2024-11-28 15:12:14
asal
752 orang telah melayarinya

How Can I Sort Files Retrieved with PHP's glob() Function by Their Last Modified Date?

Isih Fail mengikut Tarikh Terakhir Diubah Suai menggunakan glob()

Apabila bekerja dengan sistem fail, selalunya wajar untuk menyusun fail berdasarkan atributnya , seperti masa pengubahsuaian mereka. Dalam PHP, fungsi glob() boleh digunakan untuk mendapatkan semula tatasusunan fail, tetapi secara lalai, ia tidak mengekalkan susunan fail.

Cabaran: Isih mengikut Tarikh Pengubahsuaian

Andaikan anda mempunyai tatasusunan fail yang diperoleh menggunakan glob(), dan anda ingin mengisih tatasusunan ini berdasarkan cap tarikh masa terakhir yang diubah suai bagi setiap fail. Menggulung tatasusunan dan menyusunnya secara manual ke dalam tatasusunan yang berasingan ialah pilihan yang berdaya maju, tetapi ini bukan pendekatan yang paling cekap atau mudah.

Penyelesaian: Menggunakan create_function()

Sebelum PHP 7.2, fungsi create_function() menyediakan cara untuk mentakrifkan fungsi tanpa nama. Ia boleh digunakan bersama usort() untuk membandingkan masa pengubahsuaian fail dan mengisih tatasusunan dengan sewajarnya:

usort($myarray, create_function('$a,$b', 'return filemtime($a) - filemtime($b);'));
Salin selepas log masuk

Dalam kod ini, create_function() mentakrifkan fungsi tanpa nama yang menolak masa pengubahsuaian fail pertama ($a) daripada fail kedua ($b). Hasil penolakan ini menunjukkan susunan kronologinya. usort() kemudian menggunakan fungsi ini untuk mengisih $myarray dalam tertib menaik berdasarkan masa pengubahsuaian.

Pemansuhan create_function()

Malangnya, create_function() telah ditamatkan dalam PHP 7.2 dan dialih keluar dalam PHP 8.0. Ini bermakna kod di atas tidak akan berfungsi lagi dalam versi moden PHP.

Penyelesaian Alternatif

Penyelesaian alternatif untuk mengisih fail mengikut tarikh terakhir diubah suai menggunakan glob() sertakan :

  • Menggunakan fungsi perbandingan dengan usort(): Tentukan fungsi perbandingan tersuai yang memanfaatkan fungsi filemtime() dan menyerahkannya kepada usort().
  • Menggunakan fungsi sort() dengan bendera SORT_NATURAL: Jika nama fail anda distrukturkan dengan cara yang membolehkan pengisihan semula jadi, anda boleh menggunakan fungsi sort() dengan bendera SORT_NATURAL.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Isih Fail yang Diambil dengan Fungsi glob() PHP mengikut Tarikh Terakhir Diubah Suainya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan