亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

php文件操作類,建立,寫入,刪除,修改,復制,移動,創建目錄

2024-09-04 11:44:03
字體:
來源:轉載
供稿:網友

php文件操作類,本文件操作類可實現了文件的建立,寫入,刪除,修改,復制,移動,創建目錄,刪除目錄.大家可參考參考.

實例1,代碼如下:

  1. <?php 
  2.  
  3.  /* 
  4.   文件名:ClassFile.php 
  5.   功能:面向對象,文件操作類(查看文件,刪除文件,上傳文件) 
  6.   作者:感染源 
  7.   時間:2007-1-11 
  8.  */ 
  9.  
  10.  class ClassFile 
  11.  { 
  12.   private $dir_name
  13.   private $file_name
  14.   private $dh
  15.   //private $file_path; 
  16.    
  17.    
  18.   //構造函數,打開工作文件目錄 
  19.   function __construct($PDirName
  20.   { 
  21.    $this->dir_name = $PDirName
  22.    if(is_dir($this->dir_name)) 
  23.      
  24.     //打開目錄 
  25.     if($this->dh = opendir($this->dir_name) or dir('路徑錯誤,請重新檢查路徑!')); 
  26.   }//function __construct(); 
  27.    
  28.    
  29.   //關閉文件目錄 
  30.   function __destruct() 
  31.   { 
  32.    //關閉目錄 
  33.    closedir($this->dh); 
  34.   }//function __destruct(); 
  35.    
  36.    
  37.   //向當前文件夾添加文件,同時檢查是否有重名的文件 
  38.   function AddFile($temp_file
  39.   { 
  40.    //讀取目錄 
  41.    while($this->file_name = readdir($this->dh)) 
  42.    { 
  43.     if($this->file_name==$temp_file)  //檢查是否和已存在的文件重名 
  44.     { 
  45.      echo '文件重名,請更改文件名...'
  46.      exit
  47.     } 
  48.     else 
  49.     { 
  50.      //將臨時文件復制到當前目錄中 
  51.      $up_id = copy($temp_file,"$this->dir_name/$temp_file"); 
  52.      if(!$up_id
  53.      { 
  54.       echo '文件上傳失敗,請重新再傳...'
  55.       exit
  56.      } 
  57.      else 
  58.      { 
  59.       unlink($temp_file);  //刪除臨時文件 
  60.        
  61.       echo "<script language='javascript'>"
  62.       echo "alert("文件上傳成功!");"
  63.       echo "</script>"
  64.      }//if 
  65.     }//if 
  66.    }//while 
  67.   }//function AddFile(); 
  68.    
  69.    
  70.   //刪除文件 
  71.   function DelFile($del_file
  72.   { 
  73.    if(is_file($del_file)) 
  74.    { 
  75.     //$path = "$this->dir_name/$del_file"; 
  76.     if(unlink($del_file)) 
  77.     { 
  78.      echo "<script language='javascript'>"
  79.      echo "alert('成功刪除文件!');"
  80.      echo "</script>"
  81.     } 
  82.       
  83.    }//if 
  84.   }//function DelFile(); 
  85.    
  86.    
  87.   //讀取文件 
  88.   function Read_File() 
  89.   { 
  90.     $result_file = array(); 
  91.     $i = 0; 
  92.    while($this->file_name = readdir($this->dh)) 
  93.    { 
  94.     if($this->file_name=='.'||$this->file_name=='..'
  95.     {} 
  96.     else 
  97.     { 
  98.      $result_file[$i++] = "$this->dir_name/$this->file_name"
  99.     }//if 
  100.      
  101.    }//while 
  102.    return $result_file//返回文件名數組 
  103.   }//function Read_File() 
  104.  }//Class ClassFile 
  105. ?> 

實例2,代碼如下:

  1. <?php 
  2. /** 
  3. *本類為文件操作類,實現了文件的建立,寫入,刪除,修改,復制,移動,創建目錄,刪除目錄 
  4. * 列出目錄里的文件等功能,路徑后面別忘了加"/" 
  5.  
  6. * @author 路人郝 
  7. * @copyright myself 
  8.  
  9. */ 
  10. class fileoperate 
  11. var path;// 文件路徑 
  12. var name;//文件名 
  13. var result;//對文件操作后的結果 
  14.  
  15. /** 
  16. * 本方法用來在path目錄下創建name文件 
  17. * 
  18. * @param string path 
  19. * @param string name 
  20. */  
  21. function creat_file(path,name)//建立文件 
  22. {  
  23. filename=path.name; 
  24. if (file_exists(filename)) 
  25. echo "文件已經存在,請換個文件名"
  26. else  
  27. if (file_exists(path)) 
  28. touch(name); 
  29. rename(name,filename); 
  30. echo "文件建立成功 </br>"
  31. else
  32. echo "目錄不存在,請檢查"
  33.  
  34. /** 
  35. * 本方法用來寫文件,向path路徑下name文件寫入content內容,bool為寫入選項,值為1時 
  36. * 接著文件原內容下繼續寫入,值為2時寫入后的文件只有本次content內容 
  37. * 
  38. * @param string_type path 
  39. * @param string_type name 
  40. * @param string_type content 
  41. * @param bool_type bool 
  42. */ 
  43. function write_file(path,name,content,bool) //寫文件 
  44. filename=path.name; 
  45. if (bool==1) { 
  46. if (is_writable(filename)) { 
  47. handle=fopen(filename,'a'); 
  48. if (!handle) { 
  49. echo "文件不能打開或文件不存在"
  50. exit
  51. result=fwrite(handle,content); 
  52. if (!result) { 
  53. echo "文件寫入失敗"
  54. echo "文件寫入成功"
  55. fclose(handle); 
  56. else echo "文件不存在"
  57. if (bool==2) { 
  58. if (!file_exists(filename)) { 
  59. this->creat_file(path,name); 
  60. handle=fopen(filename,'a'); 
  61. if (fwrite(handle,content)); 
  62. echo "文件寫入成功"
  63.  
  64. else { 
  65. unlink(filename); 
  66. this->creat_file(path,name); 
  67. this->write_file(path,name,content,1); 
  68. echo "文件修改成功"
  69.  
  70.  
  71. /** 
  72. * 本方法刪除path路徑下name文件 
  73. * 
  74. * @param string_type path 
  75. * @param string_type name 
  76. */ 
  77. function del_file(path,name){ //刪除文件 
  78. filename=path.name; 
  79.  
  80. if (!file_exists(filename)) { 
  81. echo "文件不存在,請確認路徑是否正確"
  82. else { 
  83. if (unlink(filename)){ 
  84. echo "文件刪除成功"
  85. else echo "文件刪除失敗"
  86.  
  87.  
  88. /** 
  89. * 本方法用來修改path目錄里name文件中的內容(可視) 
  90. * 
  91. * @param string_type path 
  92. * @param string_type name 
  93. */ 
  94. function modi_file(path,name){ //文件修改 
  95. filename=path.name; 
  96. handle=fopen(filename,'r+'); 
  97. content=file_get_contents(filename); 
  98. echo "<form id='form1' name='form1' action='modi_file.php' method='post'>"
  99. echo "<textarea name=content rows='10'>content</textarea>文件內容"
  100. echo "<p>"
  101. echo "<input type='text' name='filename' value=filename />文件路徑<p>"
  102. echo "<input name=ss type=submit value=修改文件內容 />"
  103. echo "</form>"
  104.  
  105. /** 
  106. * 本方法用來復制name文件從spath到dpath 
  107. * 
  108. * @param string name 
  109. * @param string spath 
  110. * @param string dpath 
  111. */ 
  112. function copy_file(name,spath,dpath) //文件復制 
  113. filename=spath.name; 
  114. if (file_exists(filename)) { 
  115. handle=fopen(filename,'a'); 
  116. copy(filename,dpath.name); 
  117. if (file_exists(dpath.name)) 
  118. echo "文件復制成功"
  119. else echo "文件復制失敗"
  120. else echo "文件不存在"
  121.  
  122. /** 
  123. * 本方法把name文件從spath移動到path路徑 
  124. * 
  125. * @param string_type path 
  126. * @param string_type dirname 
  127. * @param string_type dpath 
  128. */ 
  129. function move_file(name,spath,dpath) //移動文件 
  130. filename=spath.name; 
  131. if (file_exists(filename)) { 
  132. result=rename(filename,dpath.name); 
  133. if (result==false or !file_exists(dpath)) 
  134. echo "文件移動失敗或目的目錄不存在"
  135. else  
  136. echo "文件移動成功"
  137. else { 
  138. echo "文件不存在,無法移動"
  139. ?> 

實例3,代碼如下:

這個比較高級了,不但可以實現文件的建立,寫入,刪除,修改,復制,移動,創建目錄,刪除目錄,還可以實現移動目錄,copy,替換等操作,代碼如下:

  1. <?php 
  2. class FSC{ 
  3. // 函數名: getfilesource 
  4. // 功能: 得到指定文件的內容 
  5. // 參數: $file 目標文件 
  6. // test passed 
  7. function getfilesource($file){ 
  8.     if($fp=fopen($file,'r')){ 
  9.         $filesource=fread($fp,filesize($file)); 
  10.         fclose($fp); 
  11.         return $filesource
  12.     } 
  13.     else 
  14.         return false; 
  15.  
  16. // 函數名: writefile 
  17. // 功能: 創建新文件,并寫入內容,如果指定文件名已存在,那將直接覆蓋 
  18. // 參數: $file -- 新文件名 
  19. // $source  文件內容 
  20. //test passed 
  21. function writefile($file,$source){ 
  22.     if($fp=fopen($file,'w')){ 
  23.         $filesource=fwrite($fp,$source); 
  24.         fclose($fp); 
  25.         return $filesource
  26.     } 
  27.     else 
  28.         return false; 
  29.  
  30. // 函數名: movefile 
  31. // 功能: 移動文件 
  32. // 參數: $file -- 待移動的文件名 
  33. // $destfile -- 目標文件名 
  34. // $overwrite 如果目標文件存在,是否覆蓋.默認是覆蓋. 
  35. // $bak 是否保留原文件 默認是不保留即刪除原文件 
  36. // test passed 
  37. function movefile($file,$destfile,$overwrite=1,$bak=0){ 
  38.     if(file_exists($destfile)){ 
  39.         if($overwrite
  40.             unlink($destfile); 
  41.         else 
  42.             return false; 
  43.     } 
  44.     if($cf=copy($file,$destfile)){ 
  45.         if(!$bak
  46.             return(unlink($file)); 
  47.         } 
  48.     return($cf); 
  49.    
  50. // 函數名: movedir 
  51. // 功能: 這是下一涵數move的附助函數,功能就是移動目錄 
  52.  
  53. function movedir($dir,$destdir,$overwrite=1,$bak=0){ 
  54.      @set_time_limit(600); 
  55.     if(!file_exists($destdir)) 
  56.         FSC::notfate_any_mkdir($destdir); 
  57.     if(file_exists($dir)&&(is_dir($dir))) 
  58.         { 
  59.         if(substr($dir,-1)!='/')$dir.='/'
  60.         if(file_exists($destdir)&&(is_dir($destdir))){ 
  61.         if(substr($destdir,-1)!='/')$destdir.='/'
  62.             $h=opendir($dir); 
  63.             while($file=readdir($h)){ 
  64.                 if($file=='.'||$file=='..'
  65.                     { 
  66.                     continue
  67.                     $file=""
  68.                 } 
  69.                 if(is_dir($dir.$file)){ 
  70.                     if(!file_exists($destdir.$file)) 
  71.                         FSC::notfate_mkdir($destdir.$file); 
  72.                     else 
  73.                         chmod($destdir.$file,0777); 
  74.                     FSC::movedir($dir.$file,$destdir.$file,$overwrite,$bak); 
  75.                     FSC::delforder($dir.$file); 
  76.                     } 
  77.                 else 
  78.                 { 
  79.                     if(file_exists($destdir.$file)){ 
  80.                         if($overwrite)unlink($destdir.$file); 
  81.                         else
  82.                             continue
  83.                             $file=""
  84.                             } 
  85.                     } 
  86.                     if(copy($dir.$file,$destdir.$file)) 
  87.                         if(!$bak
  88.                             if(file_exists($dir.$file)&&is_file($dir.$file)) 
  89.                                 @unlink($dir.$file); 
  90.                 } 
  91.             } 
  92.         } 
  93.         else 
  94.             return false; 
  95.     } 
  96.     else 
  97.         return false; 
  98.  
  99. // 函數名: move 
  100. // 功能: 移動文件或目錄 
  101. // 參數: $file -- 源文件/目錄 
  102. //       $path -- 目標路徑 
  103. //       $overwrite -- 如是目標路徑中已存在該文件時,是否覆蓋移動 
  104. //                  --  默認值是1, 即覆蓋 
  105. //       $bak  -- 是否保留備份(原文件/目錄) 
  106.  
  107. function move($file,$path,$overwrite=1,$bak=0) 
  108.      { 
  109.     if(file_exists($file)){ 
  110.         if(is_dir($file)){ 
  111.             if(substr($file,-1)=='/')$dirname=basename(substr($file,0,strlen($file)-1)); 
  112.             else $dirname=basename($file); 
  113.             if(substr($path,-1)!='/')$path.='/'
  114.             if($file!='.'||$file!='..'||$file!='../'||$file!='./')$path.=$dirname
  115.             FSC::movedir($file,$path,$overwrite,$bak); 
  116.             if(!$bak)FSC::delforder($file); 
  117.             } 
  118.         else
  119.             if(file_exists($path)){ 
  120.                 if(is_dir($path))chmod($path,0777); 
  121.                 else { 
  122.                     if($overwrite
  123.                         @unlink($path); 
  124.                     else 
  125.                         return false; 
  126.                 } 
  127.             } 
  128.             else 
  129.                 FSC::notfate_any_mkdir($path); 
  130.             if(substr($path,-1)!='/')$path.='/'
  131.             FSC::movefile($file,$path.basename($file),$overwrite,$bak); 
  132.         } 
  133.     } 
  134.     else 
  135.         return false; 
  136.  
  137. // 函數名: delforder 
  138. // 功能: 刪除目錄,不管該目錄下是否有文件或子目錄,全部刪除哦,小心別刪錯了哦! 
  139. // 參數: $file -- 源文件/目錄 
  140. //test passed 
  141.  
  142. function delforder($file) { 
  143.      chmod($file,0777); 
  144.      if (is_dir($file)) { 
  145.           $handle = opendir($file); 
  146.           while($filename = readdir($handle)) { 
  147.            if ($filename != "." && $filename != ".."
  148.             { 
  149.                 FSC::delforder($file."/".$filename); 
  150.             } 
  151.           } 
  152.           closedir($handle); 
  153.           return(rmdir($file)); 
  154.      } 
  155.      else { 
  156.         unlink($file); 
  157.       } 
  158.  
  159. // 函數名: notfate_mkdir 
  160. // 功能: 創建新目錄,這是來自php.net的一段代碼.彌補mkdir的不足. 
  161. // 參數: $dir -- 目錄名 
  162.  
  163.  
  164. function notfate_mkdir($dir,$mode=0777){ 
  165.     $u=umask(0); 
  166.     $r=mkdir($dir,$mode); 
  167.     umask($u); 
  168.     return $r
  169.  
  170. // 函數名: notfate_any_mkdir 
  171. // 功能: 創建新目錄,與上面的notfate_mkdir有點不同,因為它多了一個any,即可以創建多級目錄 
  172. //         如:notfate_any_mkdir("abc/abc/abc/abc/abc") 
  173. // 參數: $dirs -- 目錄名 
  174.  
  175.  
  176. function notfate_any_mkdir($dirs,$mode=0777) 
  177.   if(!strrpos($dirs,'/')) 
  178.     { 
  179.       return(FSC::notfate_mkdir($dirs,$mode)); 
  180.   }else 
  181.       { 
  182.       $forder=explode('/',$dirs); 
  183.       $f=''
  184.       for($n=0;$n<count($forder);$n++) 
  185.           { 
  186.           if($forder[$n]==''continue
  187.           $f.=((($n==0)&&($forder[$n]<>''))?(''):('/')).$forder[$n]; 
  188.           if(file_exists($f)){ 
  189.               chmod($f,0777); 
  190.               continue
  191.               } 
  192.           else 
  193.               { 
  194.               if(FSC::notfate_mkdir($f,$mode)) continue
  195.               else 
  196.                   return false; 
  197.           } 
  198.         } 
  199.         return true; 
  200.       } 
  201.  
  202. ?> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品国产依人香蕉在线精品| 久久艳片www.17c.com| 成人在线一区二区| 亚洲美女精品成人在线视频| 欧洲亚洲免费视频| 国产亚洲一区二区精品| 国产精品午夜一区二区欲梦| 亚洲高清久久网| 色无极影院亚洲| 在线一区二区日韩| 浅井舞香一区二区| 欧美激情欧美狂野欧美精品| 久久久免费电影| 久久综合网hezyo| 国产脚交av在线一区二区| 亚洲欧美国产制服动漫| 亚洲91av视频| 欧美亚洲一区在线| 亚洲午夜女主播在线直播| 亚洲精品电影久久久| 国内精品美女av在线播放| 欧美精品videossex88| 亚洲视频在线观看网站| 欧美一级免费视频| 国产精品视频一区国模私拍| 日韩av三级在线观看| 欧洲成人午夜免费大片| 国产精品爱啪在线线免费观看| 国产一区二区三区视频免费| 91精品国产综合久久香蕉最新版| 久久久久久国产| 亚洲色图15p| 中文字幕综合一区| 日本午夜在线亚洲.国产| 亚洲xxx自由成熟| 亚洲女同精品视频| 伊人伊成久久人综合网站| 亚洲天堂成人在线| 亚洲激情小视频| 精品动漫一区二区三区| 国产精品麻豆va在线播放| 欧美成人午夜激情| 久久久日本电影| 成人xxxx视频| 欧美日产国产成人免费图片| 伊人久久大香线蕉av一区二区| 亚洲男人第一av网站| 福利一区视频在线观看| 爽爽爽爽爽爽爽成人免费观看| 亚洲精品成人久久| 黄色成人av在线| 国产精品a久久久久久| 91成人国产在线观看| 亚洲精品美女在线观看播放| 久久久国产视频91| 成人亲热视频网站| 国产精品 欧美在线| 亚洲资源在线看| 色婷婷成人综合| 第一福利永久视频精品| 精品亚洲一区二区三区| 欧美日韩电影在线观看| 色噜噜狠狠色综合网图区| 久久夜色精品亚洲噜噜国产mv| 亚洲二区在线播放视频| 亚洲电影免费在线观看| 欧美乱大交xxxxx另类电影| 一区二区亚洲精品国产| 91国产美女在线观看| 久久综合九色九九| 欧美福利在线观看| 久热爱精品视频线路一| 亚洲精品久久久久久久久久久| 欧美性xxxx| 88国产精品欧美一区二区三区| 日韩毛片在线观看| 日本道色综合久久影院| 人人爽久久涩噜噜噜网站| 日韩视频精品在线| 国产一区二区三区在线播放免费观看| 亚洲人av在线影院| 欧洲成人免费aa| 久久亚洲精品小早川怜子66| 亚洲影视中文字幕| 成人有码视频在线播放| 亚洲人成伊人成综合网久久久| 日韩美女在线播放| 国产91精品高潮白浆喷水| 国产欧美一区二区三区久久人妖| 欧美精品久久久久久久久| 国产精品久久久久aaaa九色| 亚洲第一页自拍| 亚洲综合第一页| 日韩a**中文字幕| 午夜精品久久久久久久99热| 欧美第一黄色网| 欧美有码在线视频| 午夜剧场成人观在线视频免费观看| 7777精品视频| 亚洲一区二区三区乱码aⅴ蜜桃女| 正在播放国产一区| 欧美一区二区三区免费视| 97国产精品人人爽人人做| 欧美成人免费全部观看天天性色| 丝袜亚洲另类欧美重口| 亚洲一区二区三区视频| 亚洲自拍小视频| 国产精品444| 精品视频在线播放色网色视频| 综合久久五月天| 色悠久久久久综合先锋影音下载| 26uuu另类亚洲欧美日本老年| 国产精品久久久久久亚洲影视| 久久久久久中文| 欧美网站在线观看| 日韩在线不卡视频| 成人有码视频在线播放| 欧美亚洲午夜视频在线观看| 中文字幕日韩电影| 久久九九精品99国产精品| 久久久久久久久亚洲| 97在线观看免费| 国产精国产精品| 久久最新资源网| 国产一区二区三区网站| 久久久噜噜噜久久久| 亚洲香蕉伊综合在人在线视看| 精品亚洲永久免费精品| 欧美极品少妇全裸体| 亚洲另类欧美自拍| 国产国语刺激对白av不卡| 日韩欧美国产免费播放| 亚洲国产精品嫩草影院久久| 成人精品网站在线观看| 欧美日韩在线视频一区二区| 97超级碰碰碰| 国产精品黄视频| 在线观看日韩www视频免费| 国产日韩亚洲欧美| 亚洲欧美日韩在线高清直播| 91影视免费在线观看| 欧美黑人xxxⅹ高潮交| 亚洲xxxx在线| 91久久久久久久久久| 国产精品视频网址| 亚洲三级免费看| 一区二区三区 在线观看视| 久久成人精品电影| 欧美亚洲国产视频| 欧美久久精品一级黑人c片| 自拍偷拍亚洲区| 伊人一区二区三区久久精品| 成人免费高清完整版在线观看| 久久久久久国产精品美女| 久久国产精品久久久久| 国产精品欧美激情在线播放| 欧美日韩国产精品| 69久久夜色精品国产69乱青草| 日韩中文字幕在线精品| 久久99热精品这里久久精品| 米奇精品一区二区三区在线观看| 国产精品日日做人人爱| 欧美成人精品xxx| 久久亚洲国产精品成人av秋霞|