Extjs+PHP 文件下载

来源:互联网 发布:红叶知弦 编辑:程序博客网 时间:2024/05/17 00:04

Extjs

//gridpanel colums

var cm = [{header : '文件名稱',dataIndex :'doc_name',flex:1},
                 {header : '下載',dataIndex :'doc_name',width:120,renderer:downloadDoc}];


function downloadDoc(v){
var url=__path+"/action/data_manager/DownloadAction.class.php?path="+v+"";
return "<a href="+url+">下载</a>"
}



PHP :


<?php
$path= $_REQUEST["path"];
$arr=explode('.',$path);
$postfix=$arr[count($arr)-1];
$postfix=trim($postfix);
$file = '../../util/ContentTypes.php';
$arr  = require $file;
$type= $arr[$postfix];

$url=dirname(__FILE__);
$arr=explode('\\',$url);
unset($arr[count($arr)-1]);
unset($arr[count($arr)-1]);
unset($arr[count($arr)-1]);
$base= implode("/",$arr)."/cww/database_backup/".$path;


header('Content-Description: File Transfer');
header('Content-Type:'.$type.';charset=utf-8');
header('Content-Disposition: attachment; filename='.basename($base));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($base));
ob_clean();
flush();
readfile($base);  
exit();
?>

       

0 0