PHP文件操做函數

 1.函數 file('目標文件')php

把文件以數組的形式讀出來,用循環方式遍歷數組輸html

  
  
  
  
  1. <?  
  2. header('Content-Type:text/html; charset=utf-8');  
  3. $file=file("test.txt");  
  4. if($file)  
  5. {  
  6.     foreach ($file as $num=>$content)  
  7.     {  
  8.         echo "行數爲 ".$num." 內容爲 ".$content."<br>";  
  9.     }  
  10. }  
  11. else 
  12. {  
  13.     echo "文件讀取失敗";  
  14. }  
  15. ?> 

輸出結果爲數組

2.函數fopen('要打開的文件','用何種方式') 打開一個文件,方式有R R+ W W+ AB等等ide

若是使用W,那麼沒有該文件會自動建立該文件函數

  
  
  
  
  1. <?  
  2. header('Content-Type:text/html; charset=utf-8');  
  3. $fopen=fopen('t2.php','w');  
  4. if($fopen)  
  5. {  
  6.     echo "文件打開成功";  
  7. }  
  8. else 
  9. {  
  10.     echo "文件打開失敗";  
  11. }  
  12. ?> 

輸出結果網站

文件打開成功 並自動建立該文件spa

3.函數fwrite('目標文件','寫入的內容'),給目標文件寫入內容指針

  
  
  
  
  1. <?  
  2. header('Content-Type:text/html; charset=utf-8');  
  3. $c2="有一天我心血來潮帶他去趕集";  
  4. $fp=fopen("t1.php","ab");  
  5.  
  6. if (fwrite($fp,$c2))  
  7. {  
  8.     echo "寫入成功";  
  9. }  
  10. else 
  11. {  
  12.     echo "寫入失敗";  
  13. }  
  14. if (fclose($fp))  
  15. {  
  16.     echo "文檔已經關閉";  
  17. }  
  18. ?> 

結果爲,寫入成功,文件t1.php 寫入$c2內容htm

4.readfile('目標文件')讀取目標文件或網站,與file不一樣的是直接讀取文件的內容blog

  
  
  
  
  1. <?  
  2.  
  3. $fp=readfile("http://www.baidu.com");  
  4. if (!$fp)  
  5. {  
  6.     echo "文件讀取失敗";  
  7. }  
  8. ?> 

輸出結果

 

5.filesize('目標文件') 讀出目標文件的大小

  
  
  
  
  1. <?  
  2. $filename=("t1.php");  
  3. $size=filesize($filename);  
  4. echo $size."byts.";  
  5. ?> 


 

輸出結果,186byts

6.feof('目標文件')判斷目標文件指針是否到最後一行

  
  
  
  
  1. <?php  
  2. header('Content-Type:text/html; charset=utf-8');  
  3.  
  4. $filename="test.txt";  
  5. if (file_exists($filename))  
  6. {  
  7. $file = fopen($filename"r");  
  8.  
  9. //輸出文本中全部的行,直到文件結束爲止。  
  10. while(! feof($file))  
  11.   {  
  12.   echo fgets($file,4096). "<br />";  
  13.   }  
  14.  
  15. fclose($file);  
  16. }  
  17. else 
  18. {  
  19.     $file = fopen($filename,"w");  
  20.     $fw=fwrite($file,$content);  
  21.     if ($fw)  
  22.     {  
  23.         $file = fopen($filename,"r");  
  24.     while (!feof($file))  
  25.     {  
  26.         echo fgets($file)."<br>";  
  27.           
  28.     }  
  29.     }  
  30.     else 
  31.     {  
  32.         echo "讀取失敗";  
  33.     }  
  34.     fclose($file);  
  35. }  
  36. ?> 

輸出結果 test.txt中的內容

經過fget遍歷數組,要點 打開文件時,方式必須是R才能夠用fget遍歷數組

7.unlink('目標文件') 刪除目標文件

  
  
  
  
  1. <?  
  2. header('Content-Type:text/html; charset=utf-8');  
  3. $filename = "t1.php";  
  4. if(file_exists($filename))  
  5. {  
  6.     unlink($filename);  
  7.     echo $filename."文件刪除成功!!";  
  8. }  
  9. else 
  10. {  
  11.     echo "找不到該文件";  
  12. }  
  13. ?> 

 

輸出結果 t1.php 文件刪除成功。

8.copy('目標文件','複製的位置') 複製的位置能夠是當前目錄,也能夠指定精確位置

  
  
  
  
  1. <?  
  2. header('Content-Type:text/html; charset=utf-8');  
  3. $filename="test.txt";  
  4. if (copy($filename,"d:\test12.txt"))  
  5. {  
  6.     echo "複製文件成功";  
  7. }  
  8. else 
  9. {  
  10.     echo "複製文件失敗";  
  11. }  
  12. ?> 
9

9.mkdir('文件夾名')建立一個文件夾

  
  
  
  
  1. <?  
  2. header('Content-Type:text/html; charset=utf-8');  
  3.  
  4. function mk($dir)  
  5. {  
  6.       
  7. if (file_exists($dir) && is_dir($dir))  
  8. {  
  9.     echo "該文件夾名存在";  
  10. }  
  11. else 
  12. {  
  13.     if (mkdir($dir,0777));  
  14.     echo $dir."建立成功";  
  15. }  
  16. }  
  17. mk(date("Y-m-d"));  
  18. ?> 

輸出結果,2011-09-20 建立成功,例子中使用聲明一個函數的方式

10.rmdir('目標文件夾') 刪除文件夾,注,沒法刪除非空文件夾,若是要刪除非空文件夾,須要遍歷文件夾裏全部內容,而後先刪除文件,再刪除文件夾

例子

1.用realpath函數獲得真實的地址,若是地址等於空,等於/,或者地址等於:\\ 那麼證實是根目錄,不能刪除,返回假

2.若是不等於1中的內容,那麼使用opendir函數打開目錄句柄,返回一個目錄流

用while (readdir())遍歷目錄,而且賦值給$file

3.若是$file不等於假的時候,若是等於.或者..的時候,continue

4.給$path賦值爲 $dir(就是真實地址)鏈接接DIRECTORY_SEPARATOR(系統分隔符)鏈接$file. 這個地址爲文件夾中文件的地址

5.當$path 爲目錄且rmdir($path)函數不爲假時 就是當$path是目錄可是不能刪除時

unlink($path); 刪除這個文件。關閉句柄。再刪除文件夾。

  
  
  
  
  1. <?  
  2. header('Content-Type:text/html; charset=utf-8');  
  3.  
  4. function mrdirs($dir)  
  5. {  
  6.       
  7.     $dir = realpath($dir);  
  8.     if($dir=='' || $dir=='/' || (strlen($dir)==3 && substr($dir,1)==':\\'))  
  9.     {  
  10.         return false;  
  11.     }  
  12.     else 
  13.     {  
  14.         if(false != ($dh=opendir($dir)))  
  15.         {  
  16.             while(false != ($file=readdir($dh)))  
  17.             {  
  18.                 if($file=='.' || $file=='..') {continue;}  
  19.                 echo $path=$dir .DIRECTORY_SEPARATOR . $file;  
  20.                  if (is_dir($path))  
  21.                  {  
  22.                      if(!rmdir($path)){return false;}}  
  23.                      else 
  24.                      {  
  25.                          unlink($path);  
  26.                          echo $path."文件以刪除";  
  27.                      }  
  28.                  }  
  29.                  closedir($dh);  
  30.                  rmdir($dir);  
  31.                  echo "刪除文件夾成功";  
  32.                  return true;  
  33.             }  
  34.               
  35.         else 
  36.         {  
  37.             return false;  
  38.         }  
  39.                   
  40.               
  41.         }  
  42.           
  43.           
  44.     }  
  45.  
  46. $dir=date('Y-m-d');  
  47. if(file_exists($dir))  
  48. {  
  49. mrdirs($dir);  
  50. }  
  51. else 
  52. {  
  53.     echo "文件夾不存在,沒法刪除";  
  54. }  
  55. ?> 

輸出結果,文件夾已經刪除

但此方法只適用於文件夾中有文件的,文件夾的嵌套將不起做用

相關文章
相關標籤/搜索