1.
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 = " ";
107. }
108. //PDF文件
109. if (eregi(".pdf",$file))
110. {
111. $icon = " ";
112. }
113. //文本文件
114. elseif (eregi(".txt",$file))
115. {
116. $icon = " ";
117. }
118. //音频文件
119. elseif (eregi(".wav|.mp2|.mp3|.mp4|.vqf|.midi|.wmv",$file))
120. {
121. $icon = " ";
122. }
123. //PPT文件
124. elseif (eregi(".ppt",$file))
125. {
126. $icon = " ";
127. }
128. //压缩文件
129. elseif (eregi(".rar|.tar.gz|.7z",$file))
130. {
131. $icon = " ";
132. }
133. //Web服务器文件
134. elseif (eregi(".phps|.php|.php2|.php3|.php4|.asp|.asa|.cgi|.pl|.shtml",$file))
135. {
136. $icon = " ";
137. }
138. //Apache Web服务器安全设置
139. elseif (eregi(".htaccess",$file))
140. {
141. $icon = " " ;
142. }
143. //Web页面文件
144. elseif (eregi(".html|.htm",$file))
145. {
146. $icon = " ";
147. }
148. //不确定格式文件
149. else
150. {
151. $icon = " ";
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."删除成功 ";
208. }
209. else
210. {
211. echo "文件",$file."删除失败 ";
212. }
213. }
214. }
215.
216. }
217. closedir($handle);
218. //要在closedir()后删除,不然还在 opendir使用着,删除肯定会出现问题的
219. if(rmdir($pathName))
220. {
221. echo "目录".$pathName."删除成功 ";
222. }
223. else
224. {
225. echo "目录".$pathName."删除失败 ";
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
239. {
240. if($_FILES["myfile"]["size"][$i]>=40000)
241. {
242. echo $_FILES["myfile"]["name"][$i]."文件太大 ";
243. continue;
244. }
245. /*
246. if($_FILES["myfile"]["type"][$i]!="text/plain")
247. {
248. echo $_FILES["myfile"] ["name"][$i]."文件不是文本类型 ";
249. continue;
250. }
251. if($_FILES["myfile"]["error"][$i]!=0)
252. {
253. echo $_FILES["myfile"] ["name"][$i]."文件不能上传 ";
254. continue;
255. }
256. */
257. if(move_uploaded_file($_FILES["myfile"]["tmp_name"][$i],$uploaddir.$_FILES["myfile"]["name"][$i]))
258. {
259. echo "
263. ";
264. }
265. }
266. }
267. }
268.
269. ?> |