跟我學(xué)習(xí)php文件和目錄常用函數(shù)-上篇


下篇
1> bool file_exists(string$filename)

檢查文件或目錄是否存在

2> int filesize(string$filename)

取得指定文件的大小

3> string filetype(string$filename)

返回文件的類型。

  • 返回值, 可能的值有 fifo,char,dir,block,link,file 和 unknown。
  • 對(duì)于windows有'file'、'dir'、或 'unknown'

4> array stat(string$filename)

獲取文件的相關(guān)信息

  • 返回文件信息說明
數(shù)字下標(biāo) 關(guān)聯(lián)鍵名 解釋
0 dev 設(shè)備名
1 ino 號(hào)碼
2 mode inode保護(hù)模式
3 nlink 被連接數(shù)目
4 uid 所有者的用戶id
5 gid 所有者的組id
6 rdev 設(shè)備類型,如果是inode設(shè)備的話
7 size 文件大小的字節(jié)數(shù)
8 atime 上次訪問時(shí)間(unix時(shí)間戳)
9 mtime 上次修改時(shí)間(unix時(shí)間戳)
10 ctime 上次改變時(shí)間(unix時(shí)間戳)
11 blksize 文件系統(tǒng)IO的塊大小
12 blocks 所占據(jù)塊的數(shù)目

5> string basename(string$path[,string$suffix] )

從路徑中獲取文件的基本文件名

  • $suffix, 如果你寫了文件名的后綴返回回來的文件名不包含后綴
$path = 'f/a.txt';
echo basename($path,'.txt');//輸出: a

6> string dirname(string$path )

返回字符串中的文件夾路徑

$path = 'f1/f2/a.txt';
echo dirname($path);//輸出: f1/f2

7> mixed pathinfo(string$path[,int$options= PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION PATHINFO_FILENAME] )

返回路徑的關(guān)聯(lián)數(shù)組或指定的信息

  • $options, 指定輸出路徑信息

  • 關(guān)聯(lián)數(shù)組信息

$img_info = pathinfo('1.jpg');
print_r( $img_info );
/*
輸出:
Array
(
 [dirname] => .  目錄路徑,點(diǎn)表示當(dāng)前路徑
 [basename] => 1.jpg 帶擴(kuò)展名文件名
 [extension] => jpg 擴(kuò)展名
 [filename] => 1 文件名
)
*/

8> resource opendir(string$path[,resource$context] )

打開一個(gè)目錄句柄,可用于之后的closedir()readdir()rewinddir()調(diào)用中。

9> string readdir([resource$dir_handle] )

返回目錄中下一個(gè)文件的文件名。文件名以在文件系統(tǒng)中的排序返回。

  • $dir_handle, 使用opendir函數(shù)返回的目錄句柄

10> int filemtime(string$filename )

獲取文件最后修改時(shí)間戳


簡(jiǎn)單綜合實(shí)例

  • 輸出指定目錄下的所有文件信息
header('content-type: text/html;charset=utf-8;');
$path = 'folder'; //目錄路徑
$dir_handle = opendir($path);//打開目錄
echo '<table border="1"> <tr>
<th>文件名</th><th>類型</th><th>大小</th><th>修改時(shí)間</th>
</tr>';
//循環(huán)獲取目錄下的文件
while($filename = readdir($dir_handle)){  
    $filepath = $path.'/'.$filename;//文件的具體路徑   
    //只獲取文件類型   
    if( ($filetype = filetype($filepath) ) == 'file'){  
        $filesize = filesize($filepath); //文件大小
        $filemtime = date("Y/n/t", filemtime($filepath) ); //最后修改時(shí)間      
    //以表格形式輸出 
    echo "<tr>
        <td>{$filename}</td><td>{$filetype}</td><td>{$filesize}</td><td>{$filemtime}</td>       
            </tr> ";    
    }
}
echo '</table>';
  • 運(yùn)行結(jié)果
2016-06-08_202245.png

下篇

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 一、會(huì)話控制(session與cookie) 1.cookie簡(jiǎn)介 Cookie是存儲(chǔ)在客戶端瀏覽器中的數(shù)據(jù),我們...
    空谷悠閱讀 645評(píng)論 0 5
  • 1.創(chuàng)建文件夾 !/bin/sh mkdir -m 777 "%%1" 2.創(chuàng)建文件 !/bin/sh touch...
    BigJeffWang閱讀 10,145評(píng)論 3 53
  • 想入門python圖像處理,一些涉及到保存路徑的操作,split/splitext/dirname/basenam...
    SunFlowWind閱讀 873評(píng)論 0 0
  • 文件系統(tǒng)概述 文件的類型 在程序運(yùn)行時(shí),程序本身和數(shù)據(jù)一般都存在內(nèi)存中,當(dāng)程序運(yùn)行結(jié)束后,存放在內(nèi)存中的數(shù)據(jù)被釋放...
    dptms閱讀 1,027評(píng)論 0 1
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,837評(píng)論 18 139