1. 開啟檔案:fopen("檔名","模式");
模式引數:
r:只讀,將檔案指標指向檔案頭。
r+:讀/寫,將檔案指標指向檔案頭。
w:只寫,開啟並清空檔案的內容。如果檔案不存在,則建立檔案。
w+:讀/寫,開啟並清空檔案的內容。如果檔案不存在,則建立檔案。
a:追加,開啟並向檔案的末端進行寫操作。如果檔案不存在,則建立新檔案。
a+:讀/追加,通過向檔案末端寫內容,來保持檔案內容。
2. 關閉檔案:fclose();
使用檔案完畢,要顯式的告訴PHP已經使用完檔案,例如:
$file=fopen("test.txt","r"); //關閉一個已開啟的檔案指標
//some code be executed
fclose=($file);
3. 檢測是否已達到檔案的末端:feof();
例如:if(feof($file)){ echo "end of file";}
4. 逐行讀取檔案:fgets();
例如:
$file=fopen("test.txt","r");
while(!feof($file)){
echo fgets($file)."< br/>";
}
fclose($file);
5. 逐字元讀取檔案:fgetc()
6. 讀取任意二進位制資料:fread()
7. 判斷檔案讀取的狀態
每個檔案控制程式碼都有一個檔案指標,根據fopen函式的mode引數,檔案指標最初位於檔案的開頭,或者檔案的末尾。feof()可以判斷檔案是否已經到末尾;filesize()函式返回檔案的大小。
8. 寫入檔案和許可權判斷
fwrite() 函式執行檔案寫入
is_readable()//判斷檔案是否可讀
is_writeable()//判斷檔案是否可寫
is_writable()//判斷檔案是否可寫
file_exists()//是否存在這個檔案
程式碼舉例:
$filename = 'test.txt';
$somecontent;
// 首先我們要確定檔案存在並且可寫
if (is_writable($filename)) {
// 在這個例子裡,我們將使用新增模式開啟$filename, 因此,檔案指標將會在檔案的開頭,那就是當我們使用fwrite()的時候,$somecontent將要寫入的地方。
if (!$handle = fopen($filename, 'a')) {
echo "不能開啟檔案 $filename";
exit;
}
// 將$somecontent寫入到我們開啟的檔案中。
if (fwrite($handle, $somecontent) === FALSE) {
echo "不能寫入到檔案 $filename";
exit;
}
echo "成功地將 $somecontent 寫入到檔案$filename";
fclose($handle);
}
else{
echo "檔案 $filename 不可寫";
}
9. 將檔案讀取到一個陣列:
$array=file("text.txt"),$array[0]就是第一行文字,依次類推。如果要翻轉整個陣列,例如:
$arr=array_reverse($array);
則最後一行文字就是$arr[0]
10. 訪問目錄
目錄訪問建議使用前向斜線"/",相容windows和unix系統。主要函式包括:
basename()//返回不包括路徑資訊的檔名
dirname()//返回檔名的目錄部分
realpath()//接受相對路徑,返回檔案的絕對路徑
pathinfo()//提取給定路徑的目錄名,基本檔名和副檔名
opendir()//開啟目錄,返回資源控制程式碼
readdir()//讀取目錄項
rewinddir()//將讀取指標返回開頭
closedir()//關閉讀取控制程式碼
chdir()//改變當前指令碼執行期間的當前工作目錄
mkdir()//建立目錄
rmdir()刪除目錄
附:PHP檔案函式大全
basename — 返回路徑中的檔名部分
chgrp — 改變檔案所屬的組
chmod — 改變檔案模式
chown — 改變檔案的所有者
clearstatcache — 清除檔案狀態快取
copy — 拷貝檔案
delete — 參見 unlink() 或 unset()
dirname — 返回路徑中的目錄部分
disk_free_space — 返回目錄中的可用空間
disk_total_space — 返回一個目錄的磁碟總大小
diskfreespace — disk_free_space()的別名
fclose — 關閉一個已開啟的檔案指標
feof — 測試檔案指標是否到了檔案結束的位置
fflush — 將緩衝內容輸出到檔案
fgetc — 從檔案指標中讀取字元
fgetcsv — 從檔案指標中讀入一行並解析 CSV 欄位
fgets — 從檔案指標中讀取一行
fgetss — 從檔案指標中讀取一行並過濾掉 HTML 標記
file_exists — 檢查檔案或目錄是否存在
file_get_contents — 將整個檔案讀入一個字串
file_put_contents — 將一個字串寫入檔案
file — 把整個檔案讀入一個陣列中
fileatime — 取得檔案的上次訪問時間
filectime — 這個PHP檔案函式取得檔案的 inode 修改時間
filegroup — 取得檔案的組
fileinode — 取得檔案的 inode
filemtime — 取得檔案修改時間
fileowner — 取得檔案的所有者
fileperms — 取得檔案的許可權
filesize — 取得檔案大小
filetype — 取得檔案型別
flock — 輕便的諮詢檔案鎖定
fnmatch — 用模式匹配檔名
fopen — 開啟檔案或者 URL
fpassthru — 輸出檔案指標處的所有剩餘資料
fputcsv — 將行格式化為 CSV 並寫入檔案指標
fputs — fwrite()的別名
fread — 讀取檔案(可安全用於二進位制檔案)
fscanf — 從檔案中格式化輸入
fseek — 在檔案指標中定位
fstat — 通過已開啟的檔案指標取得檔案資訊
ftell — 返回檔案指標讀/寫的位置
ftruncate — 將檔案截斷到給定的長度
fwrite — 寫入檔案(可安全用於二進位制檔案)
glob — 尋找與模式匹配的檔案路徑
is_dir — 該PHP檔案函式判斷給定檔名是否是一個目錄
is_executable — 判斷給定檔名是否可執行
is_file — 判斷給定檔名是否為一個正常的檔案
is_link — 判斷給定檔名是否為一個符號連線
is_readable — 判斷給定檔名是否可讀
is_uploaded_file — 判斷檔案是否是通過 HTTP POST 上傳的
is_writable — 判斷給定的檔名是否可寫
is_writeable — is_writable()的別名
link — 建立一個硬連線
linkinfo — 獲取一個連線的資訊
lstat — 給出一個檔案或符號連線的資訊
mkdir — 新建目錄
move_uploaded_file — 將上傳的檔案移動到新位置
parse_ini_file — 解析一個配置檔案
pathinfo — 返回檔案路徑的資訊
pclose — 關閉程式檔案指標
popen — 開啟程式檔案指標
readfile — 輸出一個檔案
readlink — 返回符號連線指向的目標
realpath — 返回規範化的絕對路徑名
rename — 重新命名一個檔案或目錄
rewind — 倒回檔案指標的位置
rmdir — 刪除目錄
set_file_buffer — stream_set_write_buffer()的別名
stat — 給出檔案的資訊
symlink — 建立符號連線
tempnam — 建立一個具有唯一檔名的檔案
tmpfile — 建立一個臨時檔案
touch — 設定檔案的訪問和修改時間
umask — 改變當前的 umask
unlink — 刪除檔案
來自:PHP100
評論(1)