PHP檔案操作 讀取與寫入

2022-03-19 04:07:35 字數 2656 閱讀 5152

php檔案系統是基於unix系統的

檔案資料基本型別:二進位制資料、文字資料

檔案輸入流:資料從原始檔到記憶體的流動

檔案輸出流:資料從記憶體儲存到檔案的流動

檔案操作函式:

==>獲取檔案流

fopen(檔案相對路徑/絕對路徑,[檔案開啟模式]);    成功返回檔案流,否則返回false

[檔案開啟模式]六種常用開啟方式:

r    唯讀方式開啟    指標在檔案頭

r+    讀寫方式開啟    指標在檔案頭

a    寫入方式開啟[追加]    指標在檔案尾

a+    讀寫方式開啟[追加]    指標在檔案尾

w    寫入方式開啟[建立或清空]    指標在檔案頭

w+    讀寫方式開啟[建立或清空]    指標在檔案頭

b     只限於windows,二進位制模式,附加在其他模式的上,例如」xb」

t     只限於windows,附加在其他模式上,,將所有行的結束符轉換成\r\n

==>根據檔案流獲取檔案資訊

fstat(檔案流);    返回檔案資訊

返回的陣列部分資訊:

['size']:檔案大小

['atime']:最後訪問時間   返回的是unix時間戳 轉換date('y-m-d h:i:s',$filestream['mtime']);

['mtime']:最後修改時間

['ctime']:最後改變時間(相當於建立時間,只要所有者或使用者組沒有變化)

==>關閉檔案

fclose($filestream);

==>根據路徑獲取檔案資訊(方法二):可以不用開啟檔案就可以獲取檔案資訊

filesize($filepath);

fileatime($filepath);

filemtime($filepath);

filectime($filepath);

==>判斷檔案是否存在

file_exists($filepath);

==>讀取檔案內容(方法一)

$filedata = fread($filestream,filesize($filepath));

注意:

文字檔案讀取到網頁上顯示時,由於換行符不被解釋,文字不換行顯示,

解決辦法:將\r\n替換為

[str_replace('\r\n','

',$filedata);]

==>讀取檔案內容(方法二)

file_get_contents($filepath); 將整個檔案讀取到乙個字串(內部自動關閉檔案流)

==>讀取檔案內容(方法三) 迴圈讀取,用於讀取大檔案

迴圈讀取指定位元組大小的檔案資料

feof($filestream):判斷檔案指標是否在檔案未尾,是返回true,否則返回false

while(!feof($filestream))

應用擴充套件:

編寫配置文字檔案 db.ini

內容:

host=172.0.0.1

uid=root

pwd=1314

dbname=test

parse_ini_file('db.ini'); 根據『=』分隔後的乙個陣列

***********************************===

fopen('htttp:','r');

可以讀取遠端檔案,但只限於唯讀模式

成功返回檔案流,否則返回false

fread($handle,$len);            讀取檔案的len個字元長度可

stream_get_contents($handle);     讀取檔案所有內容

fwrite(filestream,rcontent,[length])

note: 在區分二進位制檔案和文字檔案的系統上(如 windows) 開啟檔案時,fopen() 函式的 mode 引數要加上 'b'。

成功返回寫入的字元數,出現錯誤時則返回 false 。

fclose(filestream)

例:

$filename = "/usr/local/something.txt";

$handle = fopen($filename, "rb");

$contents = fread($handle, filesize ($filename));

fclose($handle);

ftruncate($hanle,$len); 擷取檔案內容

==>寫入檔案(方法一)

$filestream = fopen(filepath,"a+"); 給檔案末尾追加內容用a+

fwrite($filestream,"要寫入的內容");  返回寫入的字元數,出現錯誤時則返回 false 。

》拷貝《

copy(源路徑,結果路徑);

注意:中文的編碼轉換 iconv('utf-8','gb2312',$filepath);

PHP 檔案寫入 含讀取

1.應用場景 寫入檔案 2.學習 操作 方法一 function writefile filepath,content 優化後 參見 檔案寫入 echo content to file.php 記錄日誌 常用於列印除錯,收集日誌資訊 filename log.txt logpath dirname ...

檔案操作 檔案的讀取與寫入

stream open file,mode stream流 通過流進行讀或者寫 read 讀的方法有 read 讀取所有內容 readline 每次讀取一行內容 readlines 讀取所有的行儲存到列表中 readable 判斷是否可讀的 write 寫內容 寫的方法有 write 內容 然後寫當...

檔案寫入與檔案讀取

進行檔案寫入與讀取操作 在檔案讀取部分有些不理解 include include using namespace std struct tream intmain for j 0 j i j delete t ofile.close ifstream ifile ifile.open word.tx...