PHP 4.0 时尚编程百例 —  实例 48 浏览目录

林继 PHP 技术 5,354 共写了722个字 (2005-05-26 18:40:22) 没有评论 打印 扫描二维码 百度已收录

实例说明

本例将介绍用 PHP 4.0 浏览服务器上的目录结构。主要使用2个函数:opendir函数用来打开目录。传回的资源是可供其它目录函数操作的句柄handle;readdir 函数用来读取目录。传回目录中的文件名称,读取时不按照任何特殊的排列顺序。这个函数要使用opendir函数返回的目录句柄。

编程思路

由于要使用表格的形式显示目录结构,所以首先要使用PHP 4.0 打印表格的HTML的标记来。

  1. print("<table border=\"1\">n");
  2. // 创建表格的头
  3. print("<tr><font color='red'>n");
  4. print("<th>文件名</th>n");
  5. print("<th>文件的大小</th>n");
  6. print("<th>文件的类型</th>n");
  7. print("</font></tr>n");

上面是创建表格的头,然后通过 opendir() 函数建立操作函数的句柄。通过语句$myDirectory=opendir(“.”),然后变量$myDirectory将作为readdir()函数的参数,并且通过—个循环的语句读取目录下的每—个子项。

最后关闭目录的句柄,同时完成表格的HTML标记。

创作步骤

一、建立表格的头

使用 PHP 4.0 打印表格的标记,同时打印表格中的行和列的标记.

二、打开目录,建立操作目录的句柄

$myDirectory=opendir(“.”),使用opendir()函数建立操作目录的句柄,以后就可以通过变量$myDirectory 操作目录了.

三、使用循环语句,读取目录中的内容

如目录的句柄已经建立,就通过readdir()函数来读取目录中的内容,使用循环语句列出目录中的每一 个子项,

  1. while(false!==($entryName=readdir($myDirectory)))
  2. {
  3.        // 列出目录中的内容.
  4. }

四、关闭目录句柄,打印表格的HTML标记

使用 closedir() 函数关闭建立的目录句柄,closedir($myDirectory),打印表格关闭的HTML的标记。

五、本例程序代码

  1. <HTML>
  2. <HEAD>
  3. <TITLE>浏览目录</TITLE>
  4. </HEAD>
  5. <BODY>
  6. <?
  7.        // 使用表格浏览目录的结构
  8.        print("<table border=\"1\">n");
  9.        // 创建表格的头
  10.        print("<tr><font color='red'>n");
  11.        print("<th>文件名</th>n");
  12.        print("<th>文件的大小</th>n");
  13.        print("<th>文件的类型</th>n");
  14.        print("</font></tr>n");
  15.        $myDirectory=opendir(".");            // 建立操作目录的句柄
  16.        // 读出目录中的每一个子项
  17.        while(false!==($entryName=readdir($myDirectory)))
  18.       {
  19.             print("<tr>");
  20.             print("<td>$entryName</td>");
  21.             print("<td align=\"right\">");
  22.             print(filesize($entryName));
  23.             print("</td>");
  24.             print("<td align=\"right\">");
  25.             print(filetype($entryName));
  26.             print("</td>");
  27.             print("</tr>n");
  28.        }
  29.         closedir($myDirectory);                 // 关闭目录
  30.         print("</table>n");
  31. ?>
  32. </BODY>
  33. </HTML>

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

< >