PHP下載文件

    public function down()
    {

        $run_id=I("run_id"); //流程實例ID
        $pinyin=I("pinyin"); //字段拼音碼

        $w["run_id"]=array("EQ",$run_id);
        //查詢流程實例數據信息
        $v=$this->runModel->where($w)->find();
        //業務標識key
        $archivesid=$v["archivesid"];
        //查詢附加表
        $table_name= $this->typeModel->where("flow_id=".$v["flow_id"])->getField("table_name");
        //查詢附件路徑地址
        $path = D($table_name)->where("archivesid=".$archivesid)->getField($pinyin);
        
        //分割路徑
        $arr= explode("/",$path);
        //計算最後個索引值
        $len=count($arr)-1;
        //文件名
        $fileName=$arr[$len];

        //與下載文件建立連接 連接數據傳輸管道 r代表只讀
        $file = fopen ($path,"r"); 

        //告訴瀏覽器這是一個文件流格式的文件    
        Header ( "Content-type: application/octet-stream" ); 
        //請求範圍的度量單位  
        Header ( "Accept-Ranges: bytes" );
        //用來告訴瀏覽器,文件是可以當做附件被下載,下載後的文件名稱爲$file_name該變量的值。
        Header ( "Content-Disposition: attachment; filename=".$fileName); 
        //Content-Length是指定包含於請求或響應中數據的字節長度    
        Header ( "Accept-Length: " . filesize($path));  

        //讀取文件內容並直接輸出到瀏覽器    
        echo fread ( $file,filesize ($path) );    
        fclose ($file);    
        exit ();    
    }


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章