Bagaimanakah Anda Boleh Mengeluarkan Sambungan Fail Benar daripada Nama Fail?

DDD
Lepaskan: 2024-11-02 03:22:02
asal
481 orang telah melayarinya

How Can You Extract the True File Extension from a Filename?

Menentukan Sambungan Fail Sebenar

Ramai pembangun menghadapi keperluan untuk mengekstrak sambungan fail daripada nama fail. Walaupun adalah perkara biasa untuk menggunakan penyelesaian yang hanya menghuraikan rentetan nama fail dan memotong apa-apa sahaja selepas noktah (.), pendekatan ini boleh membawa kepada hasil yang tidak tepat, terutamanya jika nama fail mengandungi berbilang sambungan.

Sebagai contoh, perkara berikut skrip mungkin gagal mengalih keluar sambungan dengan betul:

  • /.[^.] $/
  • substr($filename, 0, (strlen ($filename)) - (strlen (strrchr ($nama fail,'.'))))

Kedua-dua skrip ini bergantung pada pembatas ('.') untuk mengasingkan sambungan. Walau bagaimanapun, jika nama fail termasuk rentetan seperti "This.is example of somestring", mereka hanya akan mengalih keluar noktah pertama dan menghasilkan "This" dan bukannya hasil yang diingini, "somestring."

Menggunakan pathinfo() untuk Penyingkiran Sambungan Tepat

Untuk mengelakkan penyelewengan tersebut, disyorkan untuk memanfaatkan fungsi pathinfo() yang disediakan oleh PHP. Fungsi ini menawarkan kaedah yang mantap untuk mendapatkan pelbagai maklumat tentang laluan fail, termasuk nama fail dan sambungannya.

Pertimbangkan contoh berikut:

$filename = pathinfo('filename.md.txt', PATHINFO_FILENAME); // returns 'filename.md'
Salin selepas log masuk

Dengan menentukan PATHINFO_FILENAME sebagai parameter kedua, pathinfo () mengasingkan bahagian nama fail laluan yang diberikan, termasuk sebarang sambungan. Seperti yang ditunjukkan di atas, jika nama fail mengandungi berbilang sambungan, pathinfo() akan mengekstrak sambungan sebenar dengan betul.

Atas ialah kandungan terperinci Bagaimanakah Anda Boleh Mengeluarkan Sambungan Fail Benar daripada Nama Fail?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!