经过前几节的学习,读者应该对文件上传下载的逻辑过程和技术实现有了基本的认识。本节将完成已上传文件的列表展示功能和对应文件的下载。文件下载部分程序由两部分构成,即文件列表页面(list.php)和文件下载程序(download.php)组成。
7.5.1 文件下载列表
文件下载页面用来将已经上传的文件以列表的方式直观地展示出来,方便下载者了解所下载文件的基本信息。下面设计一个基本的下载页面,核心框架部分代码如下:
广州网站设计
- <HEAD>
- <TITLE>文件下载列表</TITLE>
- <META http-equiv=Content-Type content="text/html; charset=utf-8">
- <LINK href="base.css" type=text/css rel=stylesheet>
- <BODY>
- <DIV class=bodytitle>
- <DIV class=bodytitleleft></DIV>
- <DIV class=bodytitletxt>文件下载列表</DIV>
- </DIV>
- <TABLE class=tbtitle style="MARGIN-TOP: 6px; BACKGROUND: #e2f5bc"
- height=31 cellSpacing=1 cellPadding=1 width="96%" align=center
- border=0>
- <TBODY>
- <TR>
- <TD class=tbtitletxt><STRONG> 请选需要下载的文件:</STRONG>
- </TD>
- </TR>
- </TBODY>
- </TABLE>
- <TABLE class=tblist
- style="BORDER-RIGHT: #e2f5bc 1px solid; BORDER-TOP: #e2f5bc 1px solid;
- MARGIN: 0px 0px 6px; BORDER-LEFT: #e2f5bc 1px solid; BORDER-BOTTOM:
- #e2f5bc 1px solid"
- cellSpacing=1 cellPadding=1 width="96%" align=center border=0>
- <TBODY>
- <TR align=middle>
- <TD class=tbsname
- style="PADDING-RIGHT: 6px; PADDING-LEFT: 6px; PADDING-
- BOTTOM: 20px; PADDING-TOP: 6px"
- vAlign=top align=left height=120>
- <TABLE cellSpacing=0 cellPadding=6 width="90%" border=0>
- <TBODY>
- <TR>
- <TD><STRONG>下载说明:</STRONG><BR>
- 1、选择需要下载的文件后在'操作选项'中选择'文件下载'选项;
- </TD>
- </TR>
- </TBODY>
- </TABLE>
- <TABLE cellSpacing=1 cellPadding=3 width="98%" bgColor=#cae886
- border=0>
- <TBODY>
- <TR align=middle height=20>
- <TD width="8%" bgColor=#dcf4bd><STRONG>ID
- </STRONG></TD>
- <TD width="17%" bgColor=#dcf4bd><STRONG>文件名
- </STRONG></TD>
- <TD width="11%" bgColor=#dcf4bd><strong>文件尺寸
- </strong></TD>
- <TD width="18%" bgColor=#dcf4bd><strong>文件类型
- </strong></TD>
- <TD width="18%" bgColor=#dcf4bd><strong>上传时间
- </strong></TD>
- <TD width="28%" bgColor=#dcf4bd><STRONG>操作选项
- </STRONG></TD>
- </TR>
- <TR onMouseMove="JavaScript:this.bgColor='#FCFDEE';"
- onmouseout="JavaScript:this.bgColor='#FFFFFF';"
- align=middle
- bgColor=#ffffff height=20>
- <TD>1</TD>
- <TD>图书目录.doc</TD>
- <TD>10kb</TD>
- <TD>.doc</TD>
- <TD>0</TD>
- <TD><A href="http://localhost/dedecms/dede/
- catalog_main.php">文件下载</A>
- | <FONT color=#cccccc>扩展功能1</FONT> | <FONT
- color=#cccccc>扩展功能2</FONT></TD>
- </TR>
- </TBODY>
- </TABLE>
- <TABLE cellSpacing=0 cellPadding=0 width="90%" border=0>
- </TABLE>
- </TD>
- </TR>
- </TBODY>
- </TABLE>
- </BODY>
接下来在数据库中将已经下载的文件提取出来,再嵌套到HTML页面中。经过前面的学习,这段代码读者应该很容易写出来,展示部分的核心代码(页面模板部分代码请读者参考源程序)如下:
广州网站设计
- <TBODY>
- <TR align=middle height=20>
- <TD width="8%" bgColor=#dcf4bd><STRONG>ID</STRONG></TD>
- <TD width="17%" bgColor=#dcf4bd><STRONG>文件名</STRONG></TD>
- <TD width="11%" bgColor=#dcf4bd><strong>文件尺寸</strong></TD>
- <TD width="18%" bgColor=#dcf4bd><strong>文件类型</strong></TD>
- <TD width="18%" bgColor=#dcf4bd><strong>上传时间</strong></TD>
- <TD width="28%" bgColor=#dcf4bd><STRONG>操作选项</STRONG></TD>
- </TR>
- <?php
- $con = mysql_connect ( 'localhost', 'root', '198251' ) or die ( 'Could
- not connect: ' . mysql_error () );
- //echo 'Connected successfully';
- $db = mysql_select_db ( 'download', $con );
- if (! $db) {
- die ( "Can\'t use download : " . mysql_error () );
- } else {
- $sql = "SELECT * FROM 'f_detail'";
- $result = mysql_query ( $sql, $con );
- $err = mysql_error ();
- if ($err) {
- echo "发生错误,请联系管理员";
- }
- while ( $row = mysql_fetch_array ( $result, MYSQL_NUM ) ) {
- ?>
- <!--循环start-->
- <TR align=middle bgColor=#ffffff height=20>
- <TD><?php echo $row [0]?></TD>
- <TD><?php echo $row [1]?></TD>
- <TD><?php echo $row [3]?></TD>
- <TD><?php echo $row [4]?></TD>
- <TD><?php cho $row [5]?></TD>
- <TD><A href="download.php?id=<?php
- echo $row [0]?>">文件下载</A> | <FONT
- color=#cccccc>扩展功能1</FONT> | <FONT color=#cccccc>扩展功能
- 2</FONT></TD>
- </TR>
- <!--循环end-->
- <?php
- }
- mysql_free_result ( $result );
- }
- ?>
- </TBODY>
在上述代码中,将数据中的文件上传信息读取出来放入数组中,然后在通过while()函数循环遍历出来,再将输出的内容嵌入页面代码模板中。
运行list.php文件,执行结果如图7.3所示。从图中可以看到,程序已经正确地显示了文件列表和相应的下载链接。广州网站设计
![]() |
| (点击查看大图)图7.3 文件下载列表页面 |




