6.3 综合示例
上面两节介绍了文件系统中文件及目录的操作,本节将给出一个示例,使读者熟悉两者的使用。示例的目的是实现一个简单的文件浏览器,在浏览器中给出一个目录下所有的文件列表;对于.html、.php和.txt文件,能通过单击动作直接在浏览器中查看内容。
6.3.1 我的文件管理器
文件管理器最后的效果,如图6.1所示。对于管理器中的目录:当用户单击“.”时,当前目录不变;当单击上级目录链接“..”,页面则会显示上级目录的内容;当单击下级目录,如图中的“dev”目录时,页面会转到相应的目录。
当用户单击.txt文件的链接时,页面会以HTML形式显示其内容;当单击.php文件的链接时,页面则会执行其脚本文件;对于其他类型的文件,本示例只给出文件名,不能查看其内容,当然,这很容易扩充。
|
| 图6.1 我的文件管理器 |
1 <!--文件管理器:file_viwer.php----------------------------> |
示例在第25行使用readdir()循环读取当前目录中的目录和文件。
对于目录,使用变量$currentdir获取当前的路径信息。
当用户单击“.”时,$currentdir为当前目录不变,即$currentdir= getcwd();
当用户单击“..”时,$currentdir为当前目录的上级目录,即$currentdir= getcwd()+"\\.."(Windows平台);
当用户单击其他目录时,$currentdir为相应目录,即$currentdir= getcwd()+目录名(Windows平台)。
获取用户提交的目录信息后,使用GET方式传递给文件自身脚本,页面在第17、18行使用$_GET获取$currentdir,然后在第20行改变当前目录。对于文件,则判断其后缀是否为“.php”或“txt”,若是,在第52行给出查看其内容的链接;否则,只输出文件名。
最后在第59~69行,示例分别使用filesize()、filoectime()和filemtime()获取文件和目录大小、创建时间、最后修改时间,并输出。
| 回书目 上一节 下一节 |
|
· 网络工程师自测获奖名.. · 08年4月各大网上书店及.. · 系统分析师自测获奖名.. · Linux结课考试自测获奖.. · 上周Linux系统命令的使.. · 上周真题冲刺测试获奖.. |
· 全国计算机等考四级模.. · 08年3月各大网上书店及.. · 网络工程师模拟测试获.. · 全国计算机软考考试指.. · 3月24日WCF聊天活动 积.. · 全国计算机等级考试四.. |
|
||||
| · 视频访谈:网管员如何踏.. · 首届中国IT工程师生态.. · 华为路由器配置 · 全面解析35岁技术人的.. · 企业数据恢复指南 · 龙芯要做中国的“奔腾” · 2008年上半年全国软考.. · 交换机故障解决指南 |
· Vista SP1对决XP SP3 · LAMP技术精解 · 微软出价446亿美元收购.. · 网络故障排除宝典 · AIX操作系统管理应用(.. · 华为员工自杀频频拷问.. · 三层交换技术专题 · ARP攻击防范与解决方案 |
|||
|
||||
| · SQL Server 2008/2005.. · SOA 面向服务架构 · SQL Server 2008/2005.. · iSCSI应用与发展 · RAID——磁盘阵列基础 · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 |
· Apache技术专题 · 国际文档格式标准开战 · 路由器设置与口令恢复 · 打造安全服务器 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 · ADSL应用面面俱到 |
|||
|
||||
| · iSCSI应用与发展 · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · iSCSI应用与发展 · 三层交换技术专题 · Apache技术专题 |
· 企业数据恢复指南 · RAID——磁盘阵列基础 · 路由器设置与口令恢复 · SOA 面向服务架构 · ADSL应用面面俱到 · ADSL应用面面俱到 · 反垃圾邮件技术应用 · 访问控制列表(ACL)介绍 |
|||