cyrus 发表于 2015-8-28 13:58:21

php遍历文件,操作文件代码

1. <?php   2.      
3.   class FileFun   4.   {   
5.         //遍历文件夹,返回文件列表   6.         function display_filelist($directory)   
7.         {   8.             $handle=opendir($directory);   
9.             $dirlist=array();    10.             $filelist=array();   
11.             while ($file = readdir($handle))    12.             {   
13.               if($file<>"." and $file<>"..")    14.               {   
15.                     if(is_dir($file))   16.                     {   
17.                         $dirlist[] = $file;    18.                     }   
19.                     else    20.                     {   
21.                         $filelist[] = $directory.DIRECTORY_SEPARATOR.$file;    22.                     }   
23.               }    24.                  
25.                     26.             }   
27.             closedir($handle);    28.             return $filelist;   
29.         }    30.         //去除多余的路径,只返回文件名   
31.         function display_filename($filename)    32.         {   
33.             $i=strrpos($filename,DIRECTORY_SEPARATOR);    34.             $tmp=substr($filename,$i+1);   
35.             return $tmp;    36.         }   
37.             38.         //编码转换   
39.         function display_fileencoding($filename)    40.         {   
41.             if(extension_loaded("mbsting"))    42.             {   
43.               $code=mb_detect_encoding($filename);//检测字符串编码    44.               $filename=mb_convert_encoding($filename,"UTF-8",$code);//将编码$code转换为utf-8编码   
45.               return $filename;    46.             }   
47.             else    48.               die("请检查系统是否正确安装配置mbstring");   
49.         }    50.         //获取文件权限属性   
51.         function display_file($filename)    52.         {   
53.             return $dirperm=substr(base_convert(fileperms($filename),10,8),-4);    54.         }   
55.         //计算文件大小    56.         function display_size($file)   
57.         {    58.             $file_size = filesize($file);   
59.             if($file_size >= 1073741824)    60.               {   
61.                     $file_size = round($file_size / 1073741824 * 100) / 100 . "Gb";    62.               }   
63.             elseif($file_size >= 1048576)    64.               {   
65.                     $file_size = round($file_size / 1048576 * 100) / 100 . "Mb";    66.               }   
67.             elseif($file_size >= 1024)    68.               {   
69.                     $file_size = round($file_size / 1024 * 100) / 100 . "Kb";    70.               }   
71.             else{    72.                     $file_size = $file_size . "B";   
73.               }    74.             return $file_size;   
75.         }    76.         //获取创建的时间   
77.         function display_ctime($file)    78.         {   
79.             date_default_timezone_set("PRC");//设置默认时区为中国时区    80.             $changeddate = date("Y-m-d H:i:s",filectime($file));   
81.             return $changeddate;    82.         }   
83.         //最后修改时间    84.         function display_mtime($filename)   
85.         {    86.             date_default_timezone_set("PRC");//设置默认时区为中国时区   
87.             return $mtime=date("Y-m-d H:i:s",filemtime($filename));    88.             return $mtime;   
89.         }    90.         //最近访问时间   
91.         function display_mtime($filename)    92.         {   
93.             date_default_timezone_set("PRC");//设置默认时区为中国时区    94.             return $mtime=date("Y-m-d H:i:s",fileatime($filename));   
95.             return $mtime;    96.         }   
97.             98.         //检查文件格式并显示相应的图表和属性   
99.         function display_filetype($file)   100.         {   
101.             $path="./images";   102.             //检查文件格式并显示相应的图表和属性   
103.             //图片文件   104.             if (eregi(".bmp|.jpg|.jpeg",$file))   
105.             {   106.               $icon = "<IMG SRC="$path/image.gif" mce_SRC="$path/image.gif" alt=\"图片\" border=\"0\">";   
107.             }   108.             //PDF文件   
109.             if (eregi(".pdf",$file))   110.             {   
111.               $icon = "<IMG SRC="$path/PDFXP.ico" mce_SRC="$path/PDFXP.ico" alt=\"PDF文件\" border=\"0\">";   112.             }   
113.             //文本文件   114.             elseif (eregi(".txt",$file))   
115.             {   116.               $icon = "<IMG SRC="$path/TEXT.GIF" mce_SRC="$path/TEXT.GIF" alt=\" 文本文件\" border=\"0\">";   
117.             }   118.             //音频文件   
119.             elseif (eregi(".wav|.mp2|.mp3|.mp4|.vqf|.midi|.wmv",$file))   120.             {   
121.               $icon = "<IMG SRC="$path/WMPDOCUMENT.ico" mce_SRC="$path/WMPDOCUMENT.ico" alt=\"Audio\" border=\"0\">";   122.             }   
123.             //PPT文件   124.             elseif (eregi(".ppt",$file))   
125.             {   126.               $icon = "<IMG SRC="$path/PPT.ico" mce_SRC="$path/PPT.ico" alt=\"PPT\" border=\"0\">";   
127.             }   128.             //压缩文件   
129.             elseif (eregi(".rar|.tar.gz|.7z",$file))   130.             {   
131.               $icon = "<IMG SRC="$path/RARICON.ico" mce_SRC="$path/RARICON.ico" alt=\"RAR\" border=\"0\">";   132.             }   
133.             //Web服务器文件   134.             elseif (eregi(".phps|.php|.php2|.php3|.php4|.asp|.asa|.cgi|.pl|.shtml",$file))   
135.             {   136.               $icon = "<IMG SRC="$path/PHP.ico" mce_SRC="$path/PHP.ico" alt=\"PHP\" border=\"0\">";   
137.             }   138.             //Apache Web服务器安全设置   
139.             elseif (eregi(".htaccess",$file))   140.             {   
141.               $icon = "<IMG SRC="$path/security.gif" mce_SRC="$path/security.gif" alt=\"Apache Webserver security settings\" border=\"0\">" ;   142.             }   
143.             //Web页面文件   144.             elseif (eregi(".html|.htm",$file))   
145.             {   146.               $icon = "<IMG SRC="$path/WEBPAGE.GIF" mce_SRC="$path/WEBPAGE.GIF" alt=\" 网页文件\" border=\"0\">";   
147.             }   148.             //不确定格式文件   
149.             else   150.             {   
151.               $icon = "<IMG SRC="$path/DEFAULT.ico" mce_SRC="$path/DEFAULT.ico" alt=\" 未知文件类型\" border=\"0\">";   152.             }   
153.             return $icon;   154.         }   
155.         //复制目录   156.         function copydir($dirFrom,$dirTo)   
157.         {   158.             $filecounter=0;   
159.             $dircounter=0;   160.             if(is_file($dirTo))//收先要判断一下目标是不是文件夹   
161.             {   162.               die("无法创建目录 $dirTo");   
163.             }   164.             if(!file_exists($dirTo))//判断目标文件夹是否存在,不存在则创建   
165.             {   166.               mkdir($dirTo);   
167.               $dircounter++;   168.             }   
169.             $handle=@opendir($dirFrom);   170.             while(($file=readdir($handle))!==false)   
171.             {   172.               if($file<>"." and $file<>"..")//这个不能少   
173.               {   174.                     $fileFrom=$dirFrom.DIRECTORY_SEPARATOR.$file;//源文件夹   
175.                     $fileTo=$dirTo.DIRECTORY_SEPARATOR.$file;//目标文件夹   176.                     if(is_dir($fileFrom))   
177.                     {   178.                         copydir($fileFrom,$fileTo);//是目录,继续遍历   
179.                     }   180.                     else   
181.                     {   182.                         copy($fileFrom,$fileTo);//不是目录就拷贝   
183.                         $filecounter++;   184.                     }   
185.               }   186.                  
187.             }   188.             closedir($handle);   
189.         }   190.         //删除目录 rmdir()   
191.         function deleteDir($pathName)   192.         {   
193.             $handle=@opendir($pathName);   194.             while(($file=readdir($handle))!==false)   
195.             {   196.               if($file<>"." and $file<>"..")   
197.               {   198.                     $file=$pathName.DIRECTORY_SEPARATOR.$file;//一定要将删除的文件所在的目录指明,不然误删   
199.                     if(is_dir($file))   200.                     {   
201.                         deleteDir($file);   202.                     }   
203.                     else   204.                     {   
205.                         if(unlink($file))   206.                         {   
207.                           echo "文件",$file."删除成功<br>";   208.                         }   
209.                         else   210.                         {   
211.                           echo "文件",$file."删除失败<br>";    212.                         }   
213.                     }   214.               }   
215.                  216.             }   
217.             closedir($handle);   218.             //要在closedir()后删除,不然还在 opendir使用着,删除肯定会出现问题的   
219.             if(rmdir($pathName))   220.             {   
221.               echo "目录<b>".$pathName."</b>删除成功<br>";   222.             }   
223.             else   224.             {   
225.               echo "目录<b>".$pathName."</b>删除失败<br>";   226.             }   
227.                228.         }   
229.         //删除文件,并且备份删除的文件   230.         function delFile($filename)   
231.         {   232.             @copy("../personalmanager/upload/".$filename,"../personalmanager/backupdel/".$filename);   
233.             @unlink("../personalmanager/upload/".$filename);   234.         }   
235.         function fileUpload()   236.         {//myfile的值不具有灵活性,应该修改成在上传页面利用事件给一个hidden型的变量赋值,然后在这个里面获取这个值   
237.             $uploaddir="upload/";   238.             for($i=0;$i<count($_FILES["myfile"]["name"]);$i++)   
239.             {   240.               if($_FILES["myfile"]["size"][$i]>=40000)   
241.               {   242.                     echo $_FILES["myfile"]["name"][$i]."文件太大<br>";   
243.                     continue;   244.               }   
245.               /*246.               if($_FILES["myfile"]["type"][$i]!="text/plain")
247.               {248.                     echo $_FILES["myfile"] ["name"][$i]."文件不是文本类型<br>";
249.                     continue;250.               }
251.               if($_FILES["myfile"]["error"][$i]!=0)252.               {
253.                     echo $_FILES["myfile"] ["name"][$i]."文件不能上传<br>";254.                     continue;
255.               }256.               */   
257.               if(move_uploaded_file($_FILES["myfile"]["tmp_name"][$i],$uploaddir.$_FILES["myfile"]["name"][$i]))   258.               {   
259.                     echo "<mce:script language='javascript'><!--   260.                         alert('文件上传成功');   
261.                            262. // --></mce:script>   
263.                         ";   264.               }   
265.             }   266.         }   
267.   }   268.      
269. ?>
页: [1]
查看完整版本: php遍历文件,操作文件代码