1、
檔案測試函式 2、
檔案操作
新建檔案:
fopen($filename,"w");
//以"寫"的方式開啟乙個不存在的檔案,就會新建該檔案
檔案刪除:
unlink();
檔案複製:
copy($filename,"aaa/bb.txt");
盡量使用/和相對路徑,因為linux只認/,也沒有磁碟分割槽,而windows/和\都認
重新命名檔案:
rename($filename,"bb.txt");
檔案移動(無專門移動函式,需先複製再刪除原檔案):
copy($filename,"aaa/bb.txt);
unlink($filename);
開啟檔案:
fopen($filename,"開啟模式"); //返回乙個資源;
開啟模式:
r:唯讀方式開啟,將檔案指標指向檔案頭;
r+:讀寫方式開啟,將檔案指標指向檔案頭;
寫:先寫後讀會覆蓋內容(原:123456+abc=abc456),先讀(指標已到最後)後寫內容會接上以前的內容
讀:r+模式寫完後指標指標最後,此時用fread()讀不到任何內容,只有通過移動指標rewind($fs)將指標移動到開頭,才能讀取全部內容
w:寫入方式開啟,將檔案指標指向檔案頭並將檔案大小截為零(清空原有內容),如果檔案不存在則嘗試建立之;
w+:讀寫方式開啟,將檔案指標指向檔案頭並將檔案大小截為零(清空原有內容),如果檔案不存在則建立檔案;
a:寫入方式(不能讀)開啟,將檔案指標指向檔案結尾(試驗結果:ftell()返回為0),如果檔案不存在則建立檔案;
無法通過rewind()把內容寫到前面,即只能在最後新增內容而不能修改任何內容
a+:讀寫方式開啟,將檔案指標指向檔案結尾
(試驗結果:ftell()返回為0)
(直接讀:不需要rewind()就可以讀取全部內容)(寫完再讀:讀之前需要用rewind()重置指標位置),如果檔案不存在則建立檔案;
無法通過rewind()把內容寫到前面,即只能在最後新增內容而不能修改任何內容
關閉檔案(關閉資源):
fclose($filename);
讀取檔案內容:
fread($fs,"讀取長度");//可配合filesize()讀取全部內容
配合while($str=fread($fs,3)){}迴圈實現一段一段地讀取,當返回的字串為空時,表示已經讀完,退出迴圈;缺點是碰到0或空字串可能會提前退出迴圈;
或者使用feof($fs):判斷指標是否已經到檔案末尾,是則返回true
file(); //不需要資源
返回陣列:一行字元為乙個元素
readfile(); //不需要資源
直接輸出內容,不能增刪改,可輸出
file_get_contents(); //不需要資源
可輸出,nl2br()把換行符轉換成
寫入檔案
fwrite($fs,3); //$fs是fopen返回的資源,讀取3個位元組,返回字串,可用filesize($filename)代替,讀取檔案全部內容
file_put_contents(); //不需要資源
移動檔案指標:
ftell($fs); //告訴你當前位置
fseek($fs,4,[,int$whence
= seek_set
]);
//到指定位置:4+whence
seek_set=0;seek_sur=1;seek_end=2
rewind(); //指標返回到檔案開頭
3、目錄操作
建立目錄
mkdir(); //成功返回true,否則false
刪除目錄
rmdir(); //目錄必須為空,成功返回true,否則false
directory_separator;
//系統目錄分隔符,windows下是\,linux下是/
path_separator;
路徑分隔符:(分號)
__file__;
//輸出該常量所在檔案的絕對路徑
遍歷目錄
opendir();
遍歷一層目錄,返回的是資源,失敗返回false
想要遍歷幾層目錄需要用:遞迴listdir(),(注意要過濾.和..兩個資料夾,不然會死迴圈)
利用遞迴思想可以檢測目錄的大小:totaldir(),要返回的成員變數
$total必須是靜態變數
readdir();
讀取目錄;利用while迴圈可以讀取目錄下所有檔案,迴圈條件:(返回值!=false)
closedir();
opendir()開啟流之後關閉流
scandir();
統計磁碟空間大小
disk_free_space();
disk_total_space();
4、檔案上傳
5、多檔案上傳
檔案操作函式
1,feof 檢查檔案流是否讀到了檔案尾 相關函式 fopen,fgetc,fgets,fread 表頭檔案 include 定義函式 int feof file stream 函式說明 feof 用來偵測是否讀取到了檔案尾,尾數stream為fopen 所返回之檔案指標。如果已到檔案尾則返回非零值...
檔案操作函式
fopenfclose函式 系統需要在記憶體中為每個讀寫的檔案開闢一段快取,快取中儲存檔案資訊的是file結構體,開啟檔案時就會獲得指向file的指標。為什麼要用快取呢,因為硬碟讀取時很慢的,機械硬碟的讀寫時間都是毫秒級,而記憶體讀寫是納秒級的,差了一百萬倍。函式原型為file fopen cons...
檔案操作函式
1.什麼是檔案 磁碟上的檔案是檔案。但是在程式設計中,我們一般談的檔案有兩種 程式檔案 資料檔案 1 程式檔案 包括源程式檔案 字尾為.c 目標檔案 windows環境字尾為.obj 可執行程式 windows環境字尾 為.exe 2 資料檔案 檔案的內容不一定是程式,而是程式執行時讀寫的資料,比如...