echo $temp;
如果上面这个不能显示在浏览器中,下面这个能吗?
echo ‘下载完成!’;

解决方案 »

  1.   

    php无法控制文件是否下载完成,http协议是无状态的
      

  2.   

    $str = file_get_contents($file_name);
    Header("Content-type: application/octet-stream"); 
    Header("Content-Disposition: attachment; filename=" . $file_name); 
    if(print($str)) {
      //下载成功的处理  
    }else {
      //下载失败的处理
    }
    请注意:这个下载状态的处理不能有输出,只能做流程控制和文件操作
    否则输出的内容将接在被下载的文件之后,如果下载的是二进制文件,这将导致文件不能使用