PHP中输出一张表格,能显示当前目录下所有文件的信息 PHP中输出一张表格,能显示当前目录下所有文件的信息,文件名,创建时间、修改时间、最后访问时间、文件大小(单位kb,保留小数点后2位)、文件权限、文件所有者 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ……scandir(./) — 列出指定路径中的文件和目录foreach循环(用isdir去掉文件夹类型)fileatime — 取得文件的上次访问时间filectime — 取得文件的 inode 修改时间filegroup — 取得文件的组fileinode — 取得文件的 inodefilemtime — 取得文件修改时间fileowner — 取得文件的所有者fileperms — 取得文件的权限filesize — 取得文件大小filetype — 取得文件类型谁有空帮他写吧,我pass <?php echo "<table id=\"fileinfo\" name=\"fileinfo\" border=\"2\"><tbody>"; echo "<tr><td>文件/目录名</td><td>文件大小</td><td>文件修改时间</td><td>文件权限</td><td>文件所有者</td></tr>"; foreach(glob("b/*") as $files){ if(is_dir($files)) echo "<tr><td colspan='5'><font color=red>目录为:".$files."</font></td></tr>"; else echo "<tr><td>".$files."</td><td>".number_format((float)(filesize($files)/1024),2)."kb</td><td>".date('Y-m-d h:i:s',filemtime($files))."</td><td>".fileperms($files)."</td><td>".fileowner($files)."</td><tr>";} echo "</tboyd></table>";?>以上代码经过测试绝对OK!文件建立时间无法获取,其他都可以:PHP提供的库函数关于文件的只有:fileatime -- 取得文件的上次访问时间filectime -- 取得文件的 inode 修改时间filegroup -- 取得文件的组fileinode -- 取得文件的 inodefilemtime -- 取得文件修改时间fileowner -- 取得文件的所有者fileperms -- 取得文件的权限filesize -- 取得文件大小filetype -- 取得文件类型 foreach(glob("b/*") as $files) //这指的是获取目录b下所有的文件和文件夹,如果只想获取文件的话,可以这样:把glob("b/*")改为:glob("b/*.*") 如果楼主的系统是LINUX的,可以用posix_getpwuid(fileowner($files))用这个来获得真正的用户名。而不是windows下的fileowner($files)返回的ID,管理员是0 我不同意这种说法,理由如下:1.*.*未必就是文件,也可能是文件夹*.*无论在WIN还是LINUX下都不可能会包含文件夹,可以自己测试一下就知道了!2.*也未必不是文件这个肯定是返回文件和目录的!怎么可能未必不是文件呢?不管用(*或*.*)里的哪一个,事实是一定会返回文件的,而不是未必。如果很复杂的东西倒是可以用可能/大概/未必,但是这个用法很明确,拿到PHP平台测试一下,就很清楚了。在win系统下:遍历一个目录,如果该目录含有文件和目录,那么:* =》一定是目录和文件!*.* =》一定是只包含文件!绝不会包含目录!我个人认为这种情况是100%可以肯定的结果,真的没必要用可能/未必/大概这种模凌两可的说法! 欢迎指出特例,向你学习,谢谢! 我也反思一下,嘿嘿,单用*确实能返回全部,之前没测试你的代码已经处理了无论名字是否*.*,is_dir 能检测出来的用你的代码测试的,“6.jpg”是我建的一个目录文件/目录名 文件大小 文件修改时间 文件权限 文件所有者./000.php 3.15kb 2011-04-25 01:49:32 33206 0./001.php 0.16kb 2008-11-12 08:45:06 33206 0./002.php 2.18kb 2010-05-13 07:57:10 33206 0./1.pgn 1.50kb 2008-11-11 11:27:09 33206 0./11.svg 3.90kb 2011-04-12 02:04:46 33206 0目录为:./6.jpg./abc.svg 38.21kb 2011-04-12 02:20:06 33206 0./alumni-group.svg 542.73kb 2011-04-10 03:19:31 33206 0./document.png 0.11kb 2011-04-08 01:13:41 33206 0./domxml.php 0.69kb 2009-07-25 08:51:30 33206 0./new.svg 9.67kb 2011-04-11 03:35:53 33206 0./pgn2fen.exe 188.00kb 2002-02-12 11:09:12 33279 0./photo.xml 31.33kb 2010-01-27 10:58:09 33206 0./script 151.42kb 2011-04-25 01:08:03 33206 0./test.php 4.82kb 2011-04-07 02:57:33 33206 0./tree-view.css 1.06kb 2009-07-21 01:59:42 33206 0./tree-view.xsl 7.85kb 2009-07-21 01:57:18 33206 0./unnamed0.svg 4.51kb 2011-04-10 04:19:21 33206 0 确实如此,估计这个*.*只停留在扩展名的检测上。还没有深入到核心检测,就和系统filetype检测扩展名类似,只检测扩展名,但是如果改其他文件的扩展名,它也会认为是图片产生误报。道理应该类似的,是我太粗心了。没有注意这点,感谢指出! 楼主在循环里面写个判断目录或文件foreach(glob("b/*") as $files){if(is_file){...}if(is_dir){}}建议楼主看一下http://cn.php.net/manual/zh/function.glob.php里面有很多实例 各位牛人,有人听说过网络营销系统吗 MySQL 查询语句显示不出东西 php点击注册页面跳转的问题 PHP JQUERY AJAX如何实现多行列表修改删除 帮忙看下哪错了,php连接mysql!!!! 不懂这个意思,也不知道该怎么办 如何得到提交表单的那个页面的地址? php中怎么用变体类型啊? 怎么给php加密?? 在客服端抓取服务器本地的url怎么提高速度?? php常用代码(二) 新人在此参上。Edit Entry
scandir(./) — 列出指定路径中的文件和目录foreach循环(用isdir去掉文件夹类型)
fileatime — 取得文件的上次访问时间
filectime — 取得文件的 inode 修改时间
filegroup — 取得文件的组
fileinode — 取得文件的 inode
filemtime — 取得文件修改时间
fileowner — 取得文件的所有者
fileperms — 取得文件的权限
filesize — 取得文件大小
filetype — 取得文件类型
谁有空帮他写吧,我pass
<?php
echo "<table id=\"fileinfo\" name=\"fileinfo\" border=\"2\"><tbody>";
echo "<tr><td>文件/目录名</td><td>文件大小</td><td>文件修改时间</td><td>文件权限</td><td>文件所有者</td></tr>";
foreach(glob("b/*") as $files)
{
if(is_dir($files))
echo "<tr><td colspan='5'><font color=red>目录为:".$files."</font></td></tr>";
else
echo "<tr><td>".$files."</td><td>".number_format((float)(filesize($files)/1024),2)."kb</td><td>".date('Y-m-d h:i:s',filemtime($files))."</td><td>".fileperms($files)."</td><td>".fileowner($files)."</td><tr>";
}
echo "</tboyd></table>";
?>以上代码经过测试绝对OK!文件建立时间无法获取,其他都可以:PHP提供的库函数关于文件的只有:
fileatime -- 取得文件的上次访问时间
filectime -- 取得文件的 inode 修改时间
filegroup -- 取得文件的组
fileinode -- 取得文件的 inode
filemtime -- 取得文件修改时间
fileowner -- 取得文件的所有者
fileperms -- 取得文件的权限
filesize -- 取得文件大小
filetype -- 取得文件类型
//这指的是获取目录b下所有的文件和文件夹,如果只想获取文件的话,可以这样:把glob("b/*")改为:glob("b/*.*")
1.*.*未必就是文件,也可能是文件夹
*.*无论在WIN还是LINUX下都不可能会包含文件夹,可以自己测试一下就知道了!
2.*也未必不是文件
这个肯定是返回文件和目录的!怎么可能未必不是文件呢?不管用(*或*.*)里的哪一个,事实是一定会返回文件的,而不是未必。
如果很复杂的东西倒是可以用可能/大概/未必,但是这个用法很明确,拿到PHP平台测试一下,就很清楚了。
在win系统下:遍历一个目录,如果该目录含有文件和目录,那么:
* =》一定是目录和文件!
*.* =》一定是只包含文件!绝不会包含目录!
我个人认为这种情况是100%可以肯定的结果,真的没必要用可能/未必/大概这种模凌两可的说法!
欢迎指出特例,向你学习,谢谢!
用你的代码测试的,“6.jpg”是我建的一个目录文件/目录名 文件大小 文件修改时间 文件权限 文件所有者
./000.php 3.15kb 2011-04-25 01:49:32 33206 0
./001.php 0.16kb 2008-11-12 08:45:06 33206 0
./002.php 2.18kb 2010-05-13 07:57:10 33206 0
./1.pgn 1.50kb 2008-11-11 11:27:09 33206 0
./11.svg 3.90kb 2011-04-12 02:04:46 33206 0
目录为:./6.jpg
./abc.svg 38.21kb 2011-04-12 02:20:06 33206 0
./alumni-group.svg 542.73kb 2011-04-10 03:19:31 33206 0
./document.png 0.11kb 2011-04-08 01:13:41 33206 0
./domxml.php 0.69kb 2009-07-25 08:51:30 33206 0
./new.svg 9.67kb 2011-04-11 03:35:53 33206 0
./pgn2fen.exe 188.00kb 2002-02-12 11:09:12 33279 0
./photo.xml 31.33kb 2010-01-27 10:58:09 33206 0
./script 151.42kb 2011-04-25 01:08:03 33206 0
./test.php 4.82kb 2011-04-07 02:57:33 33206 0
./tree-view.css 1.06kb 2009-07-21 01:59:42 33206 0
./tree-view.xsl 7.85kb 2009-07-21 01:57:18 33206 0
./unnamed0.svg 4.51kb 2011-04-10 04:19:21 33206 0
楼主在循环里面写个判断目录或文件foreach(glob("b/*") as $files)
{
if(is_file)
{
...
}
if(is_dir)
{
}
}建议楼主看一下http://cn.php.net/manual/zh/function.glob.php
里面有很多实例