[php] File 檔案處理

php 存取檔案、目錄和上傳檔案

讀取、寫入檔案

  • 整個讀取、寫入讀取檔案
    $filecontents = file_get_contents();
    echo $filecontents;
    寫入檔案
    在test.txt 寫入 “abcd”
    file_put_content(“test.txt”, “abcd”) ;

在test.txt 最後寫入efgh
file_put_content(“test.txt”, “efgh”, FILE_APPEND) ;

以上成功會回傳byte數,失敗傳回false

  • 逐行讀取、寫入開啟檔案
    fopen(檔名, 模式)
  • 回傳資料代碼

模式
r : 讀
r+ : 讀寫(寫入時從目前讀到的位置寫入)
w : 寫(會刪掉原先內容)
w+ : 讀寫(會刪掉原先內容,並可讀取新寫入的內容)
a : 寫(新增資料到檔案最後)
a+ : 讀寫(新增資料到檔案最後)


$f = fopen(“test.txt”, “r+”) ;

關閉檔案
fclose($f)

寫入檔案
if( fputs($f, ‘abcd’) ) {echo ‘寫入成功’;}

讀取檔案
一次一行
while($str = fgets($f) ){
echo $str.’<br />’;
}

一次一字元
while($str = fgetc($f) ){
echo $str.’<br />’;
}

檔案複製、刪除、改名

copy(來源, 目的檔)
複製檔案

rename(舊檔名, 新檔名)
重新命名

rename(舊目錄/檔名, 新目錄/檔名)
搬移

unlink(檔名)
刪除檔案

getcwd()
回傳目前工作目錄

檢查檔案、目錄的屬性

is_dir(filename)
是否為目錄

is_file(filename)
是否為檔案

is_readable(filename)
是否可讀

is_writable(filename)
是否可寫

file_exists(filename)
是否存在

讀取目錄

scandir(要讀取的目錄)
傳回升冪排序目錄 (陣列)

scandir(要讀取的目錄, 1)
傳回降冪排序目錄 (陣列)

Next: [php] 提高PHP性能的技巧 Prev: 程式碼註解