一. 檔案操作:
1. 寫檔案
常規:fopen -- 開啟檔案 (注: 檔案模式)
fwrite(fputs--別名) -- 寫資料
fclose -- 關閉檔案
備註:檔案模式, 常用的有8種(r,r+,w,w+,x,x+,a,a+),另外還有b(推薦)和t(不推薦).
簡單:file_put_contents() -- 效果等同上面的操作. 第3個引數可以控制是否刪除已有內容.
2. 讀檔案
常規:1)
fopen -- 開啟檔案
2)i. fgetc -- 每次讀取單個字串(不常使用)
ii. fgets/fgetss/fgetcsv -- 每次讀取一行資料
fgetss與fgets區別是, fgetss可以過濾php和html標記.
fgetcsv可以使用定界符, 在處理excel或者逗號分隔的檔案時容易實現.
iii. fpassthru -- 讀取整個檔案, 將檔案輸出到標準輸出(如:瀏覽器), 返回值是false或者輸出的字元數目.
iv. fread -- 讀取指定長度的資料, 返回值為字串
3)fclose --關閉檔案
4)feof -- 讀取檔案時, 注意判斷是否到檔案結尾
簡單:readfile/file/file_get_contents -- 讀取整個檔案
readfile: 會將檔案內容輸出到標準輸出 (如: 瀏覽器)
file: 會將檔案內容返回到乙個陣列中, 每行就是乙個元素.
file_get_contents: 會將整個檔案內容返回到字串中,二進位制安全. (優先使用)
3. 其他函式
file_exists: 判斷檔案是否存在
filesize: 返回檔案大小, 單位: 位元組
unlink: 刪除檔案.
rewind: 檔案指標復位到檔案開始.
fseek: 移動檔案指標到某個位置.
ftell: 報告檔案指標當前位置. 單位: 位元組
4. 檔案鎖定
為了避免同時操作, 引入檔案鎖定函式flock, 操作值有4中:
lock_sh: 讀鎖定. 檔案可共享, 其他人也可以讀.
lock_ex: 寫鎖定. 不能被共享.
lock_un: 釋放所有鎖定.
lock_nb: 防止請求加鎖時阻塞.
5. php操作檔案的缺點:
1) 檔案變大時, 操作會變慢;
如: 操作乙個200mb的文字檔案, 如何做?
2) 查詢記錄非常困難.
如: 二分法查詢或者定長記錄查詢關鍵字域, 如何做?
3) 併發訪問問題.
如: 高併發訪問時, 需要等待檔案解鎖, 如何做?
4) 隨機插入記錄,編輯或者刪除記錄比較困難
如: 檔案中間插入記錄,修改,刪除記錄,如何做? 如果檔案很大(200mb), 如何做?
5) 除了檔案訪問許可權限制外, 沒有簡單的辦法區分不同級別的資料訪問.
如: 構建合理的資料訪問控制許可權, 如何做?
php操作目錄及檔案的方法
這篇文章主要介紹了php遍歷刪除整個目錄及檔案的方法,涉及php操作目錄及檔案的技巧,具有一定參考借鑑價值,需要的朋友可以參考下本文例項講述了php遍歷刪除整個目錄及檔案的方法。具體分析如下 我們可以使用recursivedirectoryiterator 和 recursiveiteratorit...
php檔案目錄操作
新建檔案 1 先確定要寫入檔案的內容 content 你好 2 開啟這個檔案 系統會自動建立這個空檔案 假設新建的檔案叫file.txt,而且在上級目錄下。w表示 寫檔案 fp下面要用到,表示指向某個開啟的檔案。fp fopen file.txt w 3 將內容字串寫入檔案 fp告訴系統要寫入的檔案...
php檔案 目錄操作
訪問本地 遠端的檔案 服務端請求無 跨域限制 resource 型別理解 作為乙個容器的例項,有的話裡面封裝了檔案內容 或者是二進位制 對完提供api,以操作封裝在內的檔案內容 像c 的stream例項 feof f end of file 是否檔案結尾 檔案操作 resource fopen st...