码迷,mamicode.com
首页 > Web开发 > 详细

PHP 支持中文目录和文件的的遍历

时间:2014-10-26 13:06:04      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   os   ar   使用   strong   sp   

在使用 readdir() 遍历指定目录时,使中文目录和文件名都正常显示需要使用 iconv() 进行文件编码转换:

 1 <?php
 2 
 3 header("Content-type:text/html;charset=utf-8");
 4 
 5 $num = 0;
 6 $dirname = ‘practise‘;
 7 
 8 $dirname = iconv( ‘utf-8‘, ‘gb2312‘,$dirname );
 9 
10 $dir_handle = opendir($dirname);
11 
12 echo ‘<table border="0" align="center" width="600" cellspacing="0" cellpadding="0">‘;
13 echo ‘<caption><h2>目录‘.$dirname.‘下面的内容</h2></caption>‘;
14 echo ‘<tr align="left" background="#ccc">‘;
15 echo ‘<th>文件名</th><th>文件大小</th><th>文件类型</th><th>修改时间</th></tr>‘;
16 
17 while($file = readdir($dir_handle)){
18 
19     $file1=iconv(‘gb2312‘,‘utf-8‘,$file);
20 
21     $dirFile = $dirname."/".$file;
22 
23     $bgcolor = $num++%2==0?‘#fff‘:‘#ccc‘;
24     echo ‘<tr bgcolor=‘.$bgcolor.‘>‘;
25     echo ‘<td>‘.$file1.‘</td>‘;
26     echo ‘<td>‘.filesize($dirFile).‘</td>‘;
27     echo ‘<td>‘.filetype($dirFile).‘</td>‘;
28     echo ‘<td>‘.date("Y-n-t",filemtime($dirFile)).‘</td>‘;
29     echo ‘</tr>‘;
30 }
31 
32 echo ‘</table>‘;
33 closedir($dir_handle);
34 
35 echo ‘在<b>‘.$dirname.‘</b>目录下的子目录和文件共有<b>‘.$num.‘</b>个‘;

在页面中显示:

 

 目录practise下面的内容

文件名文件大小文件类型修改时间
. 0 dir 2014-10-31
.. 0 dir 2014-10-31
js 0 dir 2014-10-31
mysql 0 dir 2014-10-31
php 0 dir 2014-10-31
想一点记一点.txt 1975 file 2013-6-30
正则 0 dir 2014-10-31

practise目录下的子目录和文件共有7

 

否则显示:

                                                         目录practise下面的内容

文件名文件大小文件类型修改时间
. 0 dir 2014-10-31
.. 0 dir 2014-10-31
js 0 dir 2014-10-31
mysql 0 dir 2014-10-31
php 0 dir 2014-10-31
??????????.txt 1975 file 2013-6-30
???? 0 dir 2014-10-31

practise目录下的子目录和文件共有7

PHP 支持中文目录和文件的的遍历

标签:style   blog   color   io   os   ar   使用   strong   sp   

原文地址:http://www.cnblogs.com/dee0912/p/4051853.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!