看看这样行不?<?php
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=apache2_cli.rar");
//这里的filename为显示在WEB客户端的文件名。
header("Content-Description: PHP4 Generated Data");
readfile('apache2.rar');
//这里的apache2.rar为在服务器上的文件名。
?>

解决方案 »

  1.   

    直接连接?那只有在下载前把文件更名、或完全拷贝一份后更名,然后
    header("Location:file2.rar");
    这样最快了
      

  2.   

    不过我想这种方式还是PHP先把文件内容读到内存中,然后输出~
    我希望是类似“location:file1.rar”这种,文件传输时就不需要PHP支持了~
      

  3.   

    copy("file1.rar","file2.rar");
    header("Location: file2.rar");
      

  4.   

    copy("file1.rar","file2.rar");
    header("Location:file2.rar");
      

  5.   

    <?
    $upload_dir="../../upload/";
    $upload_file  = "file1.rar";
    $fp = fopen($upload_dir.$upload_file,"r"); // 打开文件 
    // 输入文件标签
    Header("Content-type: application/octet-stream");
    Header("Accept-Ranges: bytes");
    Header("Accept-Length: ".filesize($upload_dir.$upload_file));
    Header("Content-Disposition: attachment; filename=" . $upload_file);
    // 输出文件内容
    echo fread($fp,filesize($upload_dir . $upload_file));
    fclose($fp);
    ?>
      

  6.   

    上面的办法我看都可行,不过都是先用PHP将文件内容读出~
    算了,结贴吧~