设为首页 收藏本站
查看: 541|回复: 0

[经验分享] php遍历文件,操作文件代码

[复制链接]

尚未签到

发表于 2015-8-28 13:58:21 | 显示全部楼层 |阅读模式
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、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-105607-1-1.html 上篇帖子: PHP如何实现文件上传 下篇帖子: PHP mysqli 扩展库(面向对象/数据库操作封装/事务控制/预编译)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表