麻辣家族討論版版's Archiver

小誌 發表於 2011-4-19 18:34

6-3-1 檔案操作的方法

[color=DarkRed][size=4][b]6-3-1   檔案操作的方法[/b][/size][/color]
如果您已經設定好目錄的操作權限,那您就可以對目錄下的檔案進行複製、更名、刪除等動作,這一切操作可是跟fopen()函數無關喔。


[color=RoyalBlue][size=3][b]複製檔案[/b][/size][/color]要複製檔案的操作必須使用copy()函數:
copy() 函數格式[code]int copy ( string source, string dest)[/code][list=1]
[*]source(來源檔案):必須是已存在的檔案,否則會產生『找不到來源檔案』的錯誤。
[*]dest(目的檔案):檔案若已存在,則會被覆蓋,若為唯讀屬性或被鎖定的檔案,則會產生『沒有使用權限』的錯誤。
[*]如果檔案複製成功則copy()函數回傳True,反之回傳False。
[/list]copyfile.php[code]<?
$myfile="count.txt";
$bakfile="myfile.bak";
if (copy($myfile, $bakfile))
  {
   echo "已經複製$myfile 成為 $bakfile";
  }
else
  {
   echo "檔案複製失敗";
  }
?>[/code]

小誌 發表於 2011-4-19 18:35

[color=RoyalBlue][size=3][b]刪除檔案[/b][/size][/color]
若想永久刪除檔案,則使用unlink()函數,語法如下:
unlink() 函數格式[code]int unlink ( string filename)[/code][list=1]
[*]filename(被刪除的檔案):必須為已存在的檔案,否則會產生『找不到來源檔』的錯誤。  
[*]如果檔案刪除成功則unlink()函數回傳True,反之回傳False。
[/list]範例程式碼如下:
deletefile.php[code]<?
$myfile="count.txt";
if (unlink($myfile))
  {
   echo "已成功刪除檔案";
  }
else
  {
   echo "檔案刪除失敗";
  }
?>[/code]

小誌 發表於 2011-4-19 18:37

[color=RoyalBlue][size=3][b]檔案更名[/b][/size][/color]
如果要更改檔案名稱則可透過rename()函數,語法如下:
rename() 函數格式[code]bool rename ( string oldname, string newname)[/code][list=1]
[*]oldname(來源檔案):必須是已存在的檔案,否則會產生『找不到來源檔』的錯誤。
[*]newname(目的檔案):必須是不存在的檔案,否則會產生『檔案已存在』的錯誤。
[*]如果檔案更名成功則rename()函數回傳True,反之回傳False。
[/list]範例程式碼如下:
renamefile.php[code]<?
$myfile="count.txt";
if (rename($myfile,"count.bak"))
  {
   echo "檔案已成功更名";
  }
else
  {
   echo "檔案更名失敗";
  }
?>[/code]

小誌 發表於 2011-4-19 18:37

[color=RoyalBlue][size=3][b]檢查檔案是否存在[/b][/size][/color]
file_exists()函數用於檢驗檔案是否存在,語法如下:
file_exists() 函數格式[code]bool file_exists ( string filename)[/code]檔案若存在,則傳回值為True,否則傳回False。
範例程式碼如下:
exfile.php[code]<?
$myfile="count.txt";
if (file_exists($myfile))
  {
   echo "檔案存在";
  }
else
  {
   echo "檔案不存在";
  }
?>[/code]

小誌 發表於 2011-4-19 18:38

當您在執行範例delfile.php或renamefile.php時,若來源檔案不存在時,在我們自訂的回應訊息之前都會秀出一段錯誤訊息對吧!
[attach]5575[/attach]
圖6-24  來源檔案不存在。

要避過這個訊息很簡單,只要再加上file_exists()函數即可,在此就以範例renamefile_2.php修改給您看:
Renamefile_2.php[code]<?
$myfile="count.txt";
if (file_exists($myfile))
  {
    if (rename($myfile,"count.bak"))
     {
      echo "檔案已成功更名";
     }
    else
     {
      echo "檔案更名失敗";
     }
  }
else
  {
   echo "檔案不存在";
  }
?>[/code]

頁: [1]

麻辣家族討論版版為 麻辣學園 網站成員  由 昱得資訊工作室 © Since 1993 所提供