PHP面试题之文件目录操作,
Jun 13, 2016 am 08:53 AM
phpakhirantahapberoperasidokumenCaraJadual kandungandapatkansoalan ujianMelintasi
PHP面试题之文件目录操作,
获取文件后缀,遍历目录层次
<span>/*</span><span>* * 5种方式获取文件后缀名 * 这道题其实就是考函数substr() strrchr() array_pop() strrpos() strpos() strrev() explode() pathinfo() * @param string $filename 要处理的文件名 1.jpg/1.png/1.html/1.php * @return string .php/php </span><span>*/</span> <span>function</span> get_ext1(<span>$filename</span><span>) { </span><span>return</span> <span>strrchr</span>(<span>$filename</span>,'.'<span>); } </span><span>function</span> get_ext2(<span>$filename</span><span>){ </span><span>return</span> <span>substr</span>(<span>$filename</span>,<span>strrpos</span>(<span>$filename</span>,'.'<span>)); } </span><span>function</span> get_ext3(<span>$filename</span><span>){ </span><span>return</span> <span>array_pop</span>(<span>explode</span>('.',<span>$filename</span><span>)); } </span><span>function</span> get_ext4(<span>$filename</span><span>){ </span><span>return</span> <span>pathinfo</span>(<span>$filename</span>,<span>PATHINFO_EXTENSION); } </span><span>function</span> get_ext5(<span>$filename</span><span>){ </span><span>return</span> <span>strrev</span>(<span>substr</span>(<span>strrev</span>(<span>$filename</span>),0,<span>strpos</span>(<span>strrev</span>(<span>$filename</span>),'.'<span>))); } </span><span>$filename</span> = "1.php"<span>; </span><span>echo</span> get_ext1(<span>$filename</span>)."\n"<span>; </span><span>echo</span> get_ext2(<span>$filename</span>)."\n"<span>; </span><span>echo</span> get_ext3(<span>$filename</span>)."\n"<span>; </span><span>echo</span> get_ext4(<span>$filename</span>)."\n"<span>; </span><span>echo</span> get_ext5(<span>$filename</span>)."\n";
<span>/*</span><span>* * 遍历目录(递归) * @param string $dir 目录名且最后没有/ * @return array $files 整个目录结构 </span><span>*/</span> <span>function</span> myScandir(<span>$dir</span><span>) { </span><span>$files</span> = <span>array</span><span>(); </span><span>if</span>(<span>$handle</span> = <span>opendir</span>(<span>$dir</span><span>)){ </span><span>while</span> ((<span>$file</span> = <span>readdir</span>(<span>$handle</span>)) != <span>false</span><span>){ </span><span>if</span>(<span>$file</span> != "." && <span>$file</span> != ".."<span>){ </span><span>$newDir</span> = <span>$dir</span>."/".<span>$file</span><span>; </span><span>if</span>(<span>is_dir</span>(<span>$newDir</span><span>)){ </span><span>$files</span>[<span>$file</span>] = myScandir(<span>$newDir</span><span>); }</span><span>else</span><span>{ </span><span>$files</span>[] = <span>$file</span><span>; } } } </span><span>closedir</span>(<span>$handle</span><span>); </span><span>return</span> <span>$files</span><span>; } } </span><span>$dir</span> = "/dirname"<span>; </span><span>print_r</span>(myScandir(<span>$dir</span>));
Kenyataan
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

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas
Apa yang Baru di Windows 11 KB5054979 & Cara Memperbaiki Masalah Kemas Kini
1 bulan yang laluByDDD
Bagaimana untuk memperbaiki KB5055523 gagal dipasang di Windows 11?
3 minggu yang laluByDDD
Bagaimana untuk memperbaiki KB5055518 gagal dipasang di Windows 10?
3 minggu yang laluByDDD
Tahap kekuatan untuk setiap musuh & raksasa di R.E.P.O.
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
Putera Biru: Cara sampai ke ruangan bawah tanah
3 minggu yang laluByDDD

Alat panas

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa
