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

PHP文件系統相關函數的功能詳解

編輯:關於PHP編程

我們通過對關於文件路徑的解釋:在Windows中,可以在路徑中使用/和符號,而在其他的操作系統中只能使用/符號。出於一致性的緣故,我們統一使用/符號。

下面的PHP文件系統相關函數腳本樣例可以顯示一個目錄清單,注釋已經包含在代碼中:

  1. <? /*把要讀取的目錄的全路徑名存入一個名字為$dir_name的變量中。 */   
  2.  
  3. $dir_name = "/home/me/";   
  4.  
  5. /* 創建一個句柄,其值是打開一個給定目錄的結果*/   
  6.  
  7. $dir = opendir($dir_name);   
  8.  
  9. /* 建立一個文字塊,用以放置列表元素(文件名字)*/   
  10.  
  11. $file_list = "<ul>";   
  12.  
  13. /* 使用一個while語句,讀取已經打開的目錄中的所有元素,如果文件的名字不是“.”或“..”,則顯示列表中的名字*/   
  14.  
  15. while ($file_name = readdir($dir)) {   
  16.  
  17. if (($file_name != ".") && ($file_name != "..")) {   
  18.  
  19. $file_list ."<li>$file_name";   
  20.  
  21. }   
  22.  
  23. }   
  24.  
  25. $file_list ."</ul>";   
  26.  
  27. /*關閉打開的目錄,結束PHP模塊*/   
  28.  
  29. closedir($dir);   
  30.  
  31. ?>   
  32.  
  33. <!-- Start your HTML -->   
  34.  
  35. <HTML>   
  36.  
  37. <HEAD>   
  38.  
  39. <TITLE>Directory Listing</TITLE>   
  40.  
  41. </HEAD>   
  42.  
  43. <BODY>   
  44.  
  45. <!-- Use PHP to print the name of the directory you read -->   
  46.  
  47. <P>Files in: <? echo "$dir_name"; ?></p>   
  48.  
  49. <!-- Use PHP to print the directory listing -->   
  50.  
  51. <? echo "$file_list"; ?>   
  52.  
  53. </BODY>   
  54.  
  55. </HTML>  

好了,我們已經得到了一個目錄清單。需要注意的是,要讀取一個文件(稍後我們將進行講解)或目錄的內容,PHP運行的系統上的用戶必須至少有讀取文件的權限。

下面是一個如何拷貝文件的PHP文件系統相關函數例子:

  1. <? /*把你要拷貝的原文件的全路徑賦給一個名字為$original的變量中,把拷貝的文件的全路徑賦予一個名字為$copied的變量中*/   
  2.  
  3. $original = "/home/me/mydatabasedump";   
  4.  
  5. $copied = "/archive/mydatabasedumo_1010";   
  6.  
  7. /* 使用copy()函數拷貝原始文件,如果拷貝沒有完成則會顯示一個錯誤信息*/   
  8.  
  9. @copy($original, $copied) or die("Couldn't copy file.");   
  10.  
  11. ?>  

這個PHP文件系統相關函數的例子是一個文件備份系統的原型。在這段腳本運行時,它把文件拷貝到一個不同的位置進行保存。稍微修改一下守護程序,就可以在一天中你指定的時刻執行它,而無需用戶的干預。

假定你在系統上安裝了Lynx,可以創建一個守護程序的條目訪問這個文件,訪問這個文件會運行這個腳本並建立一個拷貝文件,下面的例子將在上午5點鐘運行這個腳本,然後關閉Lynx:

0 5 * * * [username] lynx -dump http://localhost/copyfile.php 1>/dev/null 2>&1

如果運行的是CGI版本的PHP,可以跳過Lynx部分,而直接調用二進制文件:

0 5 * * * [username] php /path/to/copyfile.php 1>/dev/null 2>&1


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