public function down()
{
$run_id=I("run_id"); //流程實(shí)例ID
$pinyin=I("pinyin"); //字段拼音碼
$w["run_id"]=array("EQ",$run_id);
//查詢流程實(shí)例數(shù)據(jù)信息
$v=$this->runModel->where($w)->find();
//業(yè)務(wù)標(biāo)識(shí)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);
//計(jì)算最后個(gè)索引值
$len=count($arr)-1;
//文件名
$fileName=$arr[$len];
//與下載文件建立連接 連接數(shù)據(jù)傳輸管道 r代表只讀
$file = fopen ($path,"r");
//告訴瀏覽器這是一個(gè)文件流格式的文件
Header ( "Content-type: application/octet-stream" );
//請(qǐng)求范圍的度量單位
Header ( "Accept-Ranges: bytes" );
//用來(lái)告訴瀏覽器,文件是可以當(dāng)做附件被下載,下載后的文件名稱為$file_name該變量的值。
Header ( "Content-Disposition: attachment; filename=".$fileName);
//Content-Length是指定包含于請(qǐng)求或響應(yīng)中數(shù)據(jù)的字節(jié)長(zhǎng)度
Header ( "Accept-Length: " . filesize($path));
//讀取文件內(nèi)容并直接輸出到瀏覽器
echo fread ( $file,filesize ($path) );
fclose ($file);
exit ();
}
網(wǎng)站標(biāo)題:PHP下載文件
新聞來(lái)源:
http://weahome.cn/article/ihghdd.html