欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP FileSystem 文件系統(tǒng)常用api整理總結(jié)

 更新時(shí)間:2019年07月12日 08:55:43   作者:水機(jī).Threeki  
這篇文章主要介紹了PHP FileSystem 文件系統(tǒng)常用api,結(jié)合實(shí)例形式整理總結(jié)了php文件系統(tǒng)常用函數(shù)的功能、使用技巧與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下

本文實(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 ) 檢測(cè)文件或目錄是否存在

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定長(zhǎng)度
feof($handle)  測(cè)試文件指針是否到達(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是最好的語(yǔ)言'],
 ['2','javascript','javascript很火啊'],
 ['3','meteor','meteor anywhere'],
];
foreach($data as $val){
 fputcsv($handle, $val);
}
fclose($handle);

1-14 簡(jiǎn)化文件寫入和讀取操作

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ì)有所幫助。

相關(guān)文章

最新評(píng)論