本帖最后由 sevenan 于 2010-05-02 13:34:34 编辑

解决方案 »

  1.   

    fp = fopen($upfile_path.$upfile_name,"r"); 
      

  2.   

    多谢回复!我的错..刚贴的时候没注意到!
    应该是 $fp = fopen($upfile_path.$upfile_name,"r"); //打开文件
    可不是这个地方的问题啊!
      

  3.   

    那下載下來後的文件內容是什麼...
    你下載頁訪問的URI 的什麼...
      

  4.   

    下载下来的就是 download.php 这个下载控制脚本,想不通为什么...
    先根据ID,再到数据库中找对应文件的名字及存储路径,然后下载,就是上面的代码。
      

  5.   

    是不是沒有開啟server application
    server application 是不是不能解析PHP檔案
    是不是訪問html時沒有通過server application
    比如說 D:\www\download.html寫個phpinfo.php
    <?php phpinfo(); ?> 跑一下
      

  6.   

    把else中的语句干掉 贴上下面的 我刚才拷贝了你的代码 总是有问题 
    特别是这两句
    $fp = fopen($upfile_path.$upfile_name,"r"); //打开文件
    Header("Content-type: application/octet-stream"); 
    $fp = fopen($upfile_path.$upfile_name, "r"); //打开文件
    Header("Content-type: application/octet-stream");
    Header("Accept-Ranges: bytes");
    Header("Accept-Length: ".filesize($upfile_path.$upfile_name));
    Header("Content-Disposition: attachment; filename=" .$upfile_name);
    echo fread($fp,filesize($upfile_path.$upfile_name));
    fclose($fp);
    exit;
      

  7.   

    不好意思,还是不行!
    通过ID,找出了数据库中要下载文件的名称及路径,可就到点击下载的时候变成了 download.php 的下载框,想不通怎么会这样..
      

  8.   


    $upfile_name = "1.txt";   //文件名
    $upfile_path = "";  //文件存放路径
    $fp = fopen($upfile_path.$upfile_name, "r"); //打开文件
    Header("Content-type: application/octet-stream");
    Header("Accept-Ranges: bytes");
    Header("Accept-Length: ".filesize($upfile_path.$upfile_name));
    Header("Content-Disposition: attachment; filename=" .$upfile_name);
    echo fread($fp,filesize($upfile_path.$upfile_name));
    fclose($fp);
    exit;你试试把文件名和路径写出来 单独运行测试下
      

  9.   

    咦~单独测试竟然也是下载download.php。
    我在WINDOWS下再试试~
      

  10.   

    你的download.php放在服务器上了吗
      

  11.   

    先甭下载了
    把从db里取出来的$upfile_path.$upfile_name打印出来看看
      

  12.   

    我使用楼主的代码没问题。
    难道楼主的服务器解析html文件?如果不行,可能是配置问题。把楼主的phpinfo贴出来看看。
      

  13.   

    文件中我把Header("Content-Disposition: attachment; filename=" .$upfile_name);
    顺手写成了upfilename..导致出现上述问题。
    再次感谢各位的亲临指导!