打开download.php文件,该文件是负责处理文件下载逻辑的。但是它不完善,现在要根据"文件下载列表页面"中"文件下载"选项提供的链接形式接收参数。
注意:在使用header()函数发送原始HTTP标头时,该文件不能有任何字符的输出,否则将影响浏览器识别导致下载失败。广州网站建设
该文件的具体的代码如下:广州网站建设
- <?
- //创建数据库连接
- $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 {
- //将用户信息插入数据库的user表
- $sql = "SELECT * FROM 'f_detail' WHERE 'id' ='" . $_GET ['id'] . "' LIMIT
- 0 , 30";
- $result = mysql_query ( $sql, $con );
- $row = mysql_fetch_row ( $result );
- if (! $result) { //释放结果集
- mysql_free_result ( $result ); //关闭连接
- mysql_close ( $db );
- echo '数据记录插入失败!';
- exit ();
- }
- }
- $file_name = $row [1]; //下载文件名形式如:$file_name = "xxx.rar"
- $file_dir = "up/"; //下载文件存放目录
- if (! file_exists ( $file_dir . $file_name )) {//检查文件是否存在
- echo "文件找不到";
- exit ();
- } else {
- $file = fopen ( $file_dir . $file_name, "r" ); //打开目标文件
- //输入文件标签
- Header ( "Content-type: application/octet-stream" );
- Header ( "Accept-Ranges: bytes" );
- Header ( "Accept-Length: " . filesize ( $file_dir . $file_name ) );
- Header ( "Content-Disposition: attachment; filename=" . $file_name );
- //输出文件内容
- //读取文件内容并直接输出到浏览器
- echo fread ( $file, filesize ( $file_dir . $file_name ) );
- fclose ( $file );
- exit ();
- }
- ?>
![]() |
| 图7.4 下载提示页面 |




