1. 程式人生 > 程式設計 >PHP檔案操作簡單介紹及函式彙總

PHP檔案操作簡單介紹及函式彙總

檔案操作一直是Web程式設計師頭疼的地方,而檔案操作在CMS這樣的系統中又是必須的。如今,PHP檔案操作的函式內容已經非常強大,檔案這部分也是學習PHP非常重要的一部分,希望大家不要忽略。這篇文章會簡單介紹一下PHP的幾個基本檔案操作,最後附有PHP檔案函式彙總,供大家參考和學習。

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 — 刪除檔案

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。