程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP文件操作函數

PHP文件操作函數

編輯:關於PHP編程

 1.函數 file('目標文件')
把文件以數組的形式讀出來,用循環方式遍歷數組輸
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等等
如果使用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. ?>
輸出結果
文件打開成功 並自動創建該文件
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內容
4.readfile('目標文件')讀取目標文件或網站,與file不同的是直接讀取文件的內容
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. ?>
輸出結果,文件夾已經刪除
但此方法只適用於文件夾中有文件的,文件夾的嵌套將不起作用
作者“PHP學習筆記”

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved