使用php实现下载打包文件

来源:互联网 发布:淘宝中差评多久会消失 编辑:程序博客网 时间:2024/03/29 06:52
功能:在页面上对打包压缩的文件进行下载function back_pacp_file(){    $channel = file_get_contents('/etc/asterisk/channel.conf');    $date = date('y-m-d',time());    $pcap_file_name = "$date_$channel.tar.gz";    $pcap_file_path = "/tmp/$pcap_file_name";    $pack_cmd = "tar vcz -f $pcap_file_path /tmp/".$date."_".$channel.".pcap";    exec("$pack_cmd > /dev/null 2>&1 || echo $?",$output);    if($output) {        echo "</br>$pcap_file_name ";        echo language("Packing was failed");echo "</br>";        echo language("Error code");echo ": ".$output[0];        return;    }    if(!file_exists($pcap_file_path)) {        echo "</br>$pcap_file_name";        echo language("Can not find");        return;    }    //打开文件      $fd = fopen ($pcap_file_path, "r" );     $size = filesize($pcap_file_path) ;    //输入文件标签     header('Content-Encoding: none');    header('Content-Type: application/force-download');    header('Content-Type: application/octet-stream');    header('Content-Type: application/download');    header('Content-Description: File Transfer');      header('Accept-Ranges: bytes');      header( "Accept-Length: $size");      header( 'Content-Transfer-Encoding: binary' );    header( "Content-Disposition: attachment; filename=$pcap_file_name" );     header('Pragma: no-cache');    header('Expires: 0');    //输出文件内容       ob_clean(); //清楚输出缓存内容    flush();    //刷新系统输出缓存    echo fread($fd, $size);  //读取文件内容并直接输出到浏览器    fclose ($fd);    unlink($pcap_file_path);}
0 0
原创粉丝点击