本帖最后由 u013650821 于 2014-03-11 18:06:54 编辑

解决方案 »

  1.   

    用超链接只能下载浏览器不认识的扩展名,对于html/txt 等浏览器认识的扩展名需要用header来下载。
      

  2.   

    echo "$row[0],$row[1],<a href=\"download.php?filename=".urlencode($row[2])."\">(Download)</a><br><br>";download.php$filename=$_GET['filename'];
    header('content-type:application/octet-stream');  
    header('content-disposition:attachment; filename='.$filename); 
    echo readfile("upload/".$filename);
      

  3.   

    echo readfile("upload/".$filename); 改 readfile("upload/".$filename);
      

  4.   

    取不到文件下载呀! 下载的是download.php
      

  5.   

    改成了如下,可是老是下载download.pdf,不是数据库里的文件名
    <?php
    $filename=$_GET['filename'];
    header('content-type:application/pdf');  
    header('content-disposition:attachment; filename='.$filename); 
    readfile("upload/".$filename);
    ?>echo "$row[0],$row[1],<a href=\"download.php?filename=".urlencode($row[2])."\">(Download)</a><br><br>";
      

  6.   

    产生的连接是
    www.mydoamain.com/download.php?filename=
      

  7.   

    原用是download.asp, 只是想改成用 php,为何php反而复杂了?sqlString = "SELECT * FROM upload ORDER BY uploaddate DESC"
    set rs = conn.execute(sqlString)

    Do While Not rs.EOF
    Response.Write("<p><font size=""2"" face=""Times new roman"">")
    Response.Write(rs("uploaddate"))
    Response.Write(", ")
    Response.Write(rs("topic"))
    Response.Write(" <a href=""upload/" & rs("filename") & """ target=""_blank"">(Download)</a></font></p>" )
    Response.Write(vbCrLf)
    rs.movenext()
    Loop
      

  8.   

    echo "$row[0],$row[1],<a href=\"download.php?filename=".urlencode($row[2])."\">(Download)</a><br><br>";
    产生的是
    www.mydoamain.com/download.php?filename=path/name
    这样的连接而
    header('Content-disposition:attachment; filename='.$filename); 
    中的 $filename 是不能带路径的,如果带有路径,则提示的文件名是 download.php