我用的是以下代码,没问题的 header("Content-type: application/octed-stream");
header("Content-Disposition: attachment; filename=".$dlname);
readfile("data/".$dlname);

解决方案 »

  1.   

    好象不行,是一模一样的问题.
    我这里存在server上时,文件改了名,所以下载后要改回来.
    echo $newfilename是正常的.但打开和保存都会发生文件名变化.
      

  2.   

    header('Content-type: application/octet-stream');
      header('Accept-Ranges: bytes');
      header('Accept-Length: '.filesize($filepath));
      header('Content-Disposition: attachment; filename='.$filename);
      $fp=fopen($filepath,"rb");
      echo fread($fp,filesize($filepath));
      fclose($fp);这是我用的代码.
      

  3.   

    ?你提醒了我才发现.
    我这里存没事,不过直接选打开,会打开xxx[1].xxx的.
      

  4.   

    你保存没事,是在文件名为*.*的情况下,如果文件名是*.*.*,象我那个download.class.php也一样会出这种问题, 而打开则一定会出这种问题.
      

  5.   

    好像没有方法可以做到正常下载....
    我刚才去试了vbb论坛的附件,也是这样.
      

  6.   

    LeeMaRS(小菜虎_水壶的仇人) :你真是个热心人:)
      

  7.   

    呵呵...好像大家都没办法? wasy呢?
      

  8.   

    download.class.php直接打开没问题,
    只是打开的是缓存中的download[1].class.php
    另存为也是默认存为download[1].class.php
    可以说是一个bug,我们只是使用者,很多无奈的
      

  9.   

    download.class.php直接打开没问题,
    只是打开的是缓存中的download[1].class.php
    另存为也是默认存为download[1].class.php
    可以说是一个bug,我们只是使用者,很多无奈的
      

  10.   

    为什么不直接用download.php呢?
      

  11.   

    既然是一个BUG,大家注意点就好了.尽量不要用a.b.c的形式就可以了.
      

  12.   

    是的,如果都是保存,那么X.X的文档没问题,但是,若选直接打开,download.php也会提示说找不到download[1].php.
      

  13.   

    我这download.php直接打开没问题,你设置了filename了么?
      

  14.   

    我这download.php直接打开没问题,你设置了filename了么?
      

  15.   

    不好意思,今天才回.
    我设置了filename.
    是这样的,用户上传的文件名我记录下来,然后改名保存文件,(一般用数字作名),下载时,再作恢复, 所有,有上面的fopen(filename), 和下载时的newfilename.
    不知道我有没有理解错你说的"设置filename"的意思?