返回列表 上一主題 發帖

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

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

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


複製檔案要複製檔案的操作必須使用copy()函數:
copy() 函數格式
  1. int copy ( string source, string dest)
複製代碼

  • source(來源檔案):必須是已存在的檔案,否則會產生『找不到來源檔案』的錯誤。
  • dest(目的檔案):檔案若已存在,則會被覆蓋,若為唯讀屬性或被鎖定的檔案,則會產生『沒有使用權限』的錯誤。
  • 如果檔案複製成功則copy()函數回傳True,反之回傳False。
copyfile.php
  1. <?
  2. $myfile="count.txt";
  3. $bakfile="myfile.bak";
  4. if (copy($myfile, $bakfile))
  5.   {
  6.    echo "已經複製$myfile 成為 $bakfile";
  7.   }
  8. else
  9.   {
  10.    echo "檔案複製失敗";
  11.   }
  12. ?>
複製代碼
心安,平安   
發表任何無意義的感謝或灌水文章一律砍,珍惜帳號,請詳閱版規!!

刪除檔案
若想永久刪除檔案,則使用unlink()函數,語法如下:
unlink() 函數格式
  1. int unlink ( string filename)
複製代碼

  • filename(被刪除的檔案):必須為已存在的檔案,否則會產生『找不到來源檔』的錯誤。  
  • 如果檔案刪除成功則unlink()函數回傳True,反之回傳False。
範例程式碼如下:
deletefile.php
  1. <?
  2. $myfile="count.txt";
  3. if (unlink($myfile))
  4.   {
  5.    echo "已成功刪除檔案";
  6.   }
  7. else
  8.   {
  9.    echo "檔案刪除失敗";
  10.   }
  11. ?>
複製代碼
心安,平安   
發表任何無意義的感謝或灌水文章一律砍,珍惜帳號,請詳閱版規!!

TOP

檔案更名
如果要更改檔案名稱則可透過rename()函數,語法如下:
rename() 函數格式
  1. bool rename ( string oldname, string newname)
複製代碼

  • oldname(來源檔案):必須是已存在的檔案,否則會產生『找不到來源檔』的錯誤。
  • newname(目的檔案):必須是不存在的檔案,否則會產生『檔案已存在』的錯誤。
  • 如果檔案更名成功則rename()函數回傳True,反之回傳False。
範例程式碼如下:
renamefile.php
  1. <?
  2. $myfile="count.txt";
  3. if (rename($myfile,"count.bak"))
  4.   {
  5.    echo "檔案已成功更名";
  6.   }
  7. else
  8.   {
  9.    echo "檔案更名失敗";
  10.   }
  11. ?>
複製代碼
心安,平安   
發表任何無意義的感謝或灌水文章一律砍,珍惜帳號,請詳閱版規!!

TOP

檢查檔案是否存在
file_exists()函數用於檢驗檔案是否存在,語法如下:
file_exists() 函數格式
  1. bool file_exists ( string filename)
複製代碼
檔案若存在,則傳回值為True,否則傳回False。
範例程式碼如下:
exfile.php
  1. <?
  2. $myfile="count.txt";
  3. if (file_exists($myfile))
  4.   {
  5.    echo "檔案存在";
  6.   }
  7. else
  8.   {
  9.    echo "檔案不存在";
  10.   }
  11. ?>
複製代碼
心安,平安   
發表任何無意義的感謝或灌水文章一律砍,珍惜帳號,請詳閱版規!!

TOP

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

圖6-24  來源檔案不存在。

要避過這個訊息很簡單,只要再加上file_exists()函數即可,在此就以範例renamefile_2.php修改給您看:
Renamefile_2.php
  1. <?
  2. $myfile="count.txt";
  3. if (file_exists($myfile))
  4.   {
  5.     if (rename($myfile,"count.bak"))
  6.      {
  7.       echo "檔案已成功更名";
  8.      }
  9.     else
  10.      {
  11.       echo "檔案更名失敗";
  12.      }
  13.   }
  14. else
  15.   {
  16.    echo "檔案不存在";
  17.   }
  18. ?>
複製代碼
心安,平安   
發表任何無意義的感謝或灌水文章一律砍,珍惜帳號,請詳閱版規!!

TOP

        靜思自在 : 生氣,就是拿別人的過錯來懲罰自己。
返回列表 上一主題