Dalam artikel sebelumnya "Aplikasi Fungsi PHP: Menggunakan Tatasusunan untuk Mengeluarkan Sambungan Fail", kami memperkenalkan dua kaedah menggunakan tatasusunan untuk mendapatkan sambungan fail. Kali ini kami terus memperkenalkan kaedah mendapatkan sambungan fail dan melihat cara menggunakan fungsi rentetan. Rakan-rakan yang berminat boleh mempelajarinya~
Pertama sekali, mari kita ingat perkara di atas format fail lengkap boleh dibahagikan kepada tiga bahagian: Kandungan sebelum aksara ".", Kandungan selepas aksara ".", Kandungan selepas aksara ". " .
Kali ini kita masih perlu menggunakan aksara ".
" untuk mendapatkan sambungan fail! Di bawah ini kami akan memperkenalkan kepada anda 3 kaedah menggunakan fungsi rentetan untuk mendapatkan sambungan fail.
Pertama, mari kita lihat kaedah pertama menggunakan fungsi rentetan untuk mendapatkan sambungan fail
<?php function getExtension($filename){ $ext = strrchr($filename,'.'); return $ext; } $filename="dir/upload/image.gif"; echo getExtension($filename); ?>
Analisis kod kunci di atas:
strrchr($filename,'.')
bermaksud mengembalikan semua aksara dalam rentetan $filename
bermula daripada aksara ".
" hingga ke penghujung rentetan. Oleh itu, hasil output ialah:
Seterusnya mari kita lihat kaedah kedua menggunakan fungsi rentetan untuk mendapatkan sambungan fail
<?php function getExtension($filename){ $pos = strrpos($filename, '.'); $ext = substr($filename, $pos); return $ext; } $filename="dir/upload/image.gif"; echo getExtension($filename); ?>
Hasil output ialah:
OK, analisa kod kunci di atas:
Mula-mula kita gunakan strrpos($filename, '.')
Dapatkan kedudukan $filename
di mana aksara "." terakhir muncul dalam rentetan $pos
, dan kemudian gunakan $pos
sebagai parameter kedua bagi fungsi substr().
substr($filename, $pos)
akan memintas rentetan $pos
berdasarkan kedudukan yang ditetapkan oleh $filename
dan mengembalikan semua aksara bermula dari $pos
ke penghujung rentetan. Oleh itu ".gif
" akan dikeluarkan.
Jika anda ingin mendapatkan sambungan yang tidak termasuk aksara ".", iaitu kembalikan "gif
", maka anda boleh menetapkan substr($filename, $pos 1)
supaya output hasilnya ialah:
Akhir sekali mari kita lihat kaedah ketiga menggunakan fungsi rentetan untuk mendapatkan sambungan fail
<?php function getExtension($filename){ $filename = strrev($filename); $ext = strstr($str,'.',true); return strrev($ext); } $filename="dir/upload/image.gif"; echo getExtension($filename); ?>
Analisis kod kunci di atas :
strstr($filename,'.',true)
boleh mendapatkan semua aksara dari awal hingga kemunculan pertama aksara "$filename
" dalam rentetan .
, iaitu, dapatkan kandungan sebelum watak ".
" , keluarkan dan lihat:
Ini tidak selaras dengan jangkaan kami Pada masa ini, saya memikirkannya sedang mendapatkan kandungan sebelum aksara ".", kemudian letakkan Songsang rentetan supaya aksara yang mewakili sambungan tidak lama sebelum aksara "."!
Oleh itu, mula-mula gunakan strrev($filename)
untuk membalikkan rentetan $filename
, kemudian gunakan strstr($filename,'.',true)
untuk mendapatkan kandungan sebelum aksara ".", dan keluarkan kali ini untuk melihat hasilnya:
Itu sahaja, anda mempunyai sambungan terbalik strrev($filename)
untuk membalikkan rentetan semula, supaya anda boleh mendapatkan sambungan biasa >
Itu sahaja kalau nak tahu apa-apa lagi boleh klik ni. → →
Akhir sekali, saya mengesyorkan anda membaca kursus klasik "
Pemprosesan Rentetan PHP (Edisi Sutra Jantung Gadis Jade)", ianya percuma~ datang dan belajar!
Atas ialah kandungan terperinci Aplikasi fungsi PHP menggunakan fungsi rentetan untuk mengekstrak sambungan fail. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!