十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
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 (); }