PHP中怎樣獲取目錄中的文件名,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、網(wǎng)站制作、沾益網(wǎng)絡(luò)推廣、小程序開發(fā)、沾益網(wǎng)絡(luò)營(yíng)銷、沾益企業(yè)策劃、沾益品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供沾益建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.ekvhdxd.cn
我們來看一下PHP中怎樣去獲取目錄下的文件相關(guān)知識(shí)。
我們已經(jīng)了解了在PHP中怎樣去打開和關(guān)閉目錄,在關(guān)閉目錄之前會(huì)對(duì)目錄進(jìn)行操作,其中常用到的操作就有獲取目錄中的文件和文件夾。
也就是說,想要了解怎樣去獲取目錄中的文件的話,首先還是得會(huì)打開和關(guān)閉目錄,因此opendir()
函數(shù)和closedir()
函數(shù)還不了解的可以點(diǎn)擊上方的連接進(jìn)行學(xué)習(xí)。下面我們就來看一下PHP中怎樣才能完成目錄下文件的獲取吧。
我們?cè)赑HP中可以通過readdir()
函數(shù)和scandir()
函數(shù)來完成獲取目錄中文件名的操作。
readdir()
函數(shù)獲取文件中的下一個(gè)文件名
readdir()
函數(shù)是一個(gè)簡(jiǎn)單的操作,說它簡(jiǎn)單是因?yàn)楫?dāng)函數(shù)執(zhí)行成功之后,它能夠返回通過opendir()
函數(shù)打開目錄中的一個(gè)文件或者目錄名稱;如果函數(shù)沒有執(zhí)行成功,返回的結(jié)果就是flase
。
readdir()函數(shù)的基本語法格式如下:
readdir([resource $dir_handle])
其中需要注意的是:$dir_handle
是個(gè)可選參數(shù),當(dāng)填寫時(shí),表示的就是通過opendir()
函數(shù)打開的目錄參數(shù)。
接下來我們通過示例來看一下readdir()函數(shù)的使用,示例如下:
<?php $dir = 'D:'; if(is_dir($dir)){ $info = opendir($dir); $file = readdir($info); echo $file.'<br>'; closedir($info); } ?>
輸出結(jié)果:
上述示例中這種寫法一般是不會(huì)用到的,一般想要通過readdir()函數(shù)獲取所有的目錄下的文件,需要通過while
循環(huán)來進(jìn)行獲取,示例如下:
<?php $dir = 'D:'; if(is_dir($dir)){ $info = opendir($dir); while (($file = readdir($info)) !== false) { echo $file.'<br>'; } closedir($info); } ?>
輸出結(jié)果:
如此我們便通過readdir()函數(shù)與while循環(huán)配合完成了對(duì)目標(biāo)目錄中文件名的獲取。這就是readdir()函數(shù)的應(yīng)用,接下來我們看一下另外一種方法,也就是scandir()
函數(shù)。
scandir()
函數(shù),數(shù)組形式返回目錄文件名
上文中我們了解了readdir()
函數(shù)可以獲取目標(biāo)目錄內(nèi)的文件名,其中配合while循環(huán)可以簡(jiǎn)單直接的得到目錄下的文件或者目錄名。接下來要說的scandir()函數(shù)與readdir()函數(shù)有一些不同。
readdir()
函數(shù)一次只能返回一個(gè)文件名,但是scandir()
函數(shù)執(zhí)行成功之后能夠返回目標(biāo)目錄內(nèi)所有的文件名和目錄名;
readdir
返回的結(jié)果直接就是文件的名稱,scandir
的返回結(jié)果也是文件的名稱但是是以數(shù)組的形式返回的結(jié)果;
readdir
函數(shù)沒有執(zhí)行成功的話返回的結(jié)果是flase,scandir
函數(shù)沒有執(zhí)行成功時(shí)返回的加過也是flase但是同時(shí)也會(huì)有錯(cuò)誤信息。
下面我們來看一下scandir()函數(shù)的基本語法,示例如下:
scandir(string $directory[, int $sorting_order[, resource $context]])
其中需要注意的是:$directory
表示要讀取的目錄;當(dāng)$sorting_order
的參數(shù)設(shè)置為SCANDIR_SORT_DESCENDING
或者 1
的時(shí)候,返回的結(jié)果也就是文件名,它們的排列順序是按著字母降序排列。當(dāng)$sorting_order的參數(shù)設(shè)置為SCANDIR_SORT_NONE
的時(shí)候,返回的結(jié)果就是未排列的結(jié)果,其中這個(gè)參數(shù)是個(gè)可選參數(shù)。
接下來我們通過示例來看一下scandir()函數(shù)的應(yīng)用,示例如下:
<?php $dir = 'D:\phpstudy_pro\WWW'; if(is_dir($dir)){ $arr1 = scandir($dir); $arr2 = scandir($dir, 1); } echo "<pre>"; print_r($arr1); print_r($arr2); ?>
上述示例中,目的是想要通過scandir()函數(shù)來獲取目錄路徑為“D:\phpstudy_pro\WWW”的目錄內(nèi)文件名,然后通過不同的參數(shù)來實(shí)現(xiàn)不同的字母順序排列,輸出結(jié)果如下:
通過上述示例就能夠看出scandir()函數(shù)能夠通過數(shù)組的形式返回目標(biāo)目錄中的文件名,并且函數(shù)內(nèi)$sorting_order的參數(shù)不同返回結(jié)果的排序也就不同。
看完上述內(nèi)容,你們掌握PHP中怎樣獲取目錄中的文件名的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
文章標(biāo)題:PHP中怎樣獲取目錄中的文件名
網(wǎng)頁地址:http://www.ekvhdxd.cn/article42/pooeec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、搜索引擎優(yōu)化、定制網(wǎng)站、App開發(fā)、網(wǎng)站收錄、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)