用户名: 密码: 忘记密码? 注册
收藏此问题 发表新评论

信任求助,我用php实现下载功能,但是下载的dwg文件无效

本帖最后由 liongogo 于 2013-6-4 19:23 编辑

代码如下:

<?php
$title = '下载图纸';
require_once('./header.php');
if (!isset($_SESSION['name'])) {
        echo '<div class="alert alert-block">您尚未登录,请登录后再进行操作。</div>';
} else {

if (isset($_GET['fn']) && !empty($_GET['fn'])) {
        $filename = $_GET['fn'];
}

$filename = mb_convert_encoding($filename, 'GBK', 'UTF-8');

$fn = explode('/', $filename);

$name = $fn[count($fn)-1];

if (!file_exists($filename)) {
        echo '该文件不存在!';
} else {
        // $file = fopen($filename, 'r');
        header('Content-Description: File Transfer');
        header('Content-type: application/x-dwg');
        Header ( "Content-Disposition: attachment; filename=".$name);
        header('Content-transfer-encoding: binary');
        header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');  
    Header ( "Accept-Length: " . filesize($filename));
    ob_clean();
    flush(); 
    readfile($file);  
    // fclose($file); 
}
}
require_once('./footer.php');
?> 



[size=1.085em]文件: C:\Users\rocky\Downloads\2762米水平平面图 (6).dwg
大小: 1553754 字节
修改时间: 2013年6月4日, 19:05:18
MD5: 5F98927C7F60FEC11EAEC9751C98B0A1
SHA1: 03091213E8DE69774C19BBE49C9470550317E648
CRC32: ED38FF67

文件: C:\wamp\www\cljsb\public_files\drawing\采准用图\九中段采准工程\2762米水平平面图.dwg
大小: 1545590 字节
修改时间: 2013年6月4日, 18:13:29
MD5: 2107D9DF21314BC3DB256481CAFDBCF3
SHA1: E614027207C91E195E2BD2AC5043D13490EBE239
CRC32: 684994B0

这个是md校验的结果,第一个是下载过的文件,第二个是源文件
连文件大小都发生了变化。

昵称: liongogo  时间: 2013-06-04 19:21:58
1. 需要去掉的部分
require_once('./footer.php');

2.
?>
昵称: xuer  时间: 2013-06-04 19:55:11
试了下,不行
昵称: liongogo  时间: 2013-06-04 20:03:19
发表评论
昵称:
内容:
验证: