PHP FileSystem 文件系統(tǒng)常用api整理總結(jié)
本文實(shí)例講述了PHP FileSystem 文件系統(tǒng)常用api。分享給大家供大家參考,具體如下:
參數(shù)說明:$filename (文件的路徑)
1-4 文件信息相關(guān)
filetype() 判斷文件類型,返回 file / dir filesize() filectime() 創(chuàng)建時(shí)間 filectime() 取得 inode信息 [理解inode 阮一峰](http://www.ruanyifeng.com/blog/2011/12/inode.html) 例子:date('Y年m月d日, h:i:s',filectime($file)) filemtime() 修改時(shí)間 fileatime() 上一次訪問時(shí)間 is_readable() 可讀性 is_writeable() / is_writable() 可寫性 is_executable() 可執(zhí)行性 pathinfo() dirname() basename() is_file() 檢查是否為文件 且存在 file_exists( $filename ) 檢測文件或目錄是否存在
1-6 文件基本操作:創(chuàng)建、刪除、剪切、重命名、拷貝
touch( $filename ) 創(chuàng)建文件 unlink( $filename ) 刪除文件 rename( $filename, $newname ) 重命名/剪切 文件/目錄 copy( $source, $dest ) 復(fù)制文件 注意:拷貝遠(yuǎn)程文件需要開啟php配置選項(xiàng)中的allow_url_fopen=On
1-8 文件內(nèi)容相關(guān)操作
文件內(nèi)容操作流程
fopen($filename, $mode) 打開指定文件, 以指定方式打開 //為移植性考慮,強(qiáng)烈建議在用 fopen() 打開文件時(shí)總是使用 'b' 標(biāo)記。 $handle = fopen($filename, 'rb+') 讀寫方式打開 fread($handle, $length) 讀取文件 fread($handle, filesize($filename)); 讀取所有文件內(nèi)容 fwrite($handle, $string) / fputs() 寫入內(nèi)容 fclose($handle) 關(guān)閉文件 ftell($handle) 返回指針位置 fseek($handle, $offset) 移動(dòng)指針到指定位置 rewind($handle) 重置指針
// 例子 $filename = '2.txt'; $handle = fopen($filename, 'ab+'); // 以追加模式打開 fwrite($handle, PHP_EOL.'abc'); // 重置指針 rewind($handle); 此處,如果不重置指針,則最后的讀取$res為空字符串 $res = fread($handle, filesize($filename)); fclose($handle); var_dump($res);
1-11 文件讀取相關(guān)操作
ftruncate($handle, $size) 將文件截?cái)嗟浇o定長度
feof($handle) 測試文件指針是否到達(dá)末尾
fgetc() 讀取一個(gè)字符
fgets() 讀取一行字符
fgetss() 讀取一行字符,并且過濾掉HTML標(biāo)記
strip_tags(fgets($handle)) 也可以過濾掉HTML標(biāo)記
while(!feof($handle)){ echo fgetc($handle); // 一個(gè)一個(gè)字符讀取文件,直到最后 }
1-13 csv格式操作
fgetcsv() 從文件指針中讀入一行并解析csv字段
fputcsv() 將行格式化為csv在寫入文件
// 例子1:
// user.csv文件內(nèi)容:
1,king,12,123@qq.com
2,queen,32,test@qq.com
3,lily,23,test1@qq.com
$filename = 'user.csv'; $handle = fopen($filename, 'rb+'); $rows=[]; while($row=fgetcsv($handle)){ $rows[] = $row; } print_r($rows);
例子2:
$filename = 'user2.scv'; $handle = fopen($filename, 'wb+'); // 以讀寫的方式打開文件,如果不存在則創(chuàng)建文件 $data = [ ['1','php','php是最好的語言'], ['2','javascript','javascript很火啊'], ['3','meteor','meteor anywhere'], ]; foreach($data as $val){ fputcsv($handle, $val); } fclose($handle);
1-14 簡化文件寫入和讀取操作
file_get_contents($fliename) 讀取文件函數(shù)
file_put_contents($filename, $data) 將一個(gè)字符串寫入文件, 注意:這里是先將文件清空,然后再寫入$data
如果不想覆蓋內(nèi)容,可以先把文件內(nèi)容先讀取出來,接著再寫入
$filename = '1.txt'; $string = file_get_contents($filename); $data = $string.'this is a test'; file_put_contents($filename, $data);
如果寫入的是數(shù)組
1. 一維數(shù)組,則將一維數(shù)組轉(zhuǎn)化為 'abc' 直接寫入
$filename = '3.txt'; $data = ['a','b','c']; file_put_contents($filename, $data);
2. 如果是二維數(shù)組 或者 多維數(shù)組,則需將數(shù)組或?qū)ο笮蛄谢髮懭胛募?/p>
$filename = '3.txt'; $data = [ ['a','b','c'], ['d','e','f'] ]; $data = serialize($data); // 序列化 file_put_contents($filename, $data); $res = file_get_contents($filename); print_r(unserialize($res)); // 反序列化
第二種方式:轉(zhuǎn)json格式寫入
$filename = '1.txt'; $data = [ ['a','b','c'], ['d','e','f'] ]; $data = json_encode($data); // 轉(zhuǎn)json編碼格式 file_put_contents($filename, $data); $res = json_decode(file_get_contents($filename)); // 對(duì)json字符串解碼 print_r($res);
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php文件操作總結(jié)》、《PHP目錄操作技巧匯總》、《PHP常用遍歷算法與技巧總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》及《PHP網(wǎng)絡(luò)編程技巧總結(jié)》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- php中的filesystem文件系統(tǒng)函數(shù)介紹及使用示例
- PHP 文件系統(tǒng)詳解
- PHP文件系統(tǒng)管理(實(shí)例講解)
- php文件系統(tǒng)處理方法小結(jié)
- PHP開發(fā)文件系統(tǒng)實(shí)例講解
- php讀取目錄及子目錄下所有文件名的方法
- PHP中文件讀、寫、刪的操作(PHP中對(duì)文件和目錄操作)
- php遍歷目錄與文件夾的多種方法詳解
- PHP判斷文件是否存在、是否可讀、目錄是否存在的代碼
- php中檢查文件或目錄是否存在的代碼小結(jié)
- PHP 創(chuàng)建文件(文件夾)以及目錄操作代碼
- PHP獲取當(dāng)前文件的父目錄方法匯總
相關(guān)文章
一個(gè)PHP數(shù)組應(yīng)該有多大的分析
PHP在數(shù)組處理上非常低效,尤其是內(nèi)存占用較多,常常使得httpd進(jìn)程消耗太多資源。2009-07-07php進(jìn)程通信之共享內(nèi)存詳細(xì)講解
這篇文章主要介紹了php進(jìn)程通信之共享內(nèi)存,共享內(nèi)存是一種最為高效的進(jìn)程間通信(IPC)方式,進(jìn)程可以直接讀寫內(nèi)存,而不需要任何數(shù)據(jù)的拷貝2022-09-09php使用simplexml_load_file加載XML文件并顯示XML的方法
這篇文章主要介紹了php使用simplexml_load_file加載XML文件并顯示XML的方法,實(shí)例分析了simplexml_load_file操作XML文件的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-03-03