execl导出

        $data=M("news")->select();
        $str="编号,主题,时间"."\r\n";
        foreach($data as $k=>$v)
        {
            $str.=$v['news_id'].",".$v['news_title'].",".$v['insert_time']."\r\n";
        }
//        echo __ROOT__;die;
        if(file_put_contents("./news.csv",$str))
        {
            $this->success("导出成功",U("2"));
        }
        else
        {
            echo 0;
        }
$file = "./a.csv";                                           //计算机上的一个文件
$fileName = basename($file); //获取文件名
header("Content-Type:application/octet-stream"); //告诉浏览器文档类型(mime类型); octet-stream指的是二进制文件类型;下载任何类型的文件都可以这么指定
header("Content-Disposition:attachment;filename=".$fileName); //告诉浏览器以附件方式对待文件(即下载文件);并设置下载后的文件名
header("Accept-ranges:bytes"); //告诉浏览器文件大小的单位
header("Accept-Length:".filesize($file)); //告诉浏览器文件的大小
$h = fopen($file, 'r'); //打开文件
echo fread($h, filesize($file));






$str="id, 姓名, 性别, 手机号码, 邮箱, 留言者ip, 留言者标题, 留言内容, 留言图片路径, 留言时间". "\r\n";
$search_conds = array(
'username' => $this->request->get('username'),
'sex' => $this->request->get('sex'),
'begin' => $this->request->get('begin'),
'end' => $this->request->get('end'),
'email' => $this->request->get('email'),
'tel' => $this->request->get('tel'),
'title' => $this->request->get('title'),
);
//查询的条件
$search_default = array(
'message_name' => $search_conds['username'],
'message_sex' => $search_conds['sex'],
'created > (?)' => $search_conds['begin'],
'created <=?' => $search_conds['end'],
'message_email' => $search_conds['email'],
'message_mobilephone' => $search_conds['tel'],
'message_title' => $search_conds['title']
);
//供查询数据库用的查询条件
$conditions = array();
foreach($search_default as $k => $v){
if(!empty($v)){
if($k == 'created > (?)'){
//开始时间查询
$conditions[$k] = strtotime($v);
}elseif($k == 'created <=?'){
//结束时间查询
$conditions[$k] = strtotime($v);
//性别准确查询
}elseif($k == 'message_sex'){
$conditions[$k] = $v;
}else{
$conditions[$k.' like (?) '] = $v.'%';
}
}
}
$serv_liurui = new voa_s_oa_liurui_paper();
//根据搜索条件查询留言
$serv_liurui->liurui_sel($requit, $conditions);
foreach($requit['list'] as $_k => $_v){
$str.= $_v['message_id']. ",". $_v['message_name']. ",". $_v['message_sex'].
",". $_v['message_mobilephone']. ",". $_v['message_email']. ",". $_v['message_ip'].
",". $_v['message_title']. ",". $_v['message_content']. ",". $_v['message_img'].
",". $_v['created']. ",". "\r\n";
}
if (!file_exists('./export')) {
//进行文件创建
mkdir('./export', 0777, true);
}
$name = '留言信息'.date('Y-m-d', time()).'.csv';
if($name != '留言信息'.date('Y-m-d', time()).'.csv'){
unlink('./export/'.$name);
$name = '留言信息'.date('Y-m-d', time()).'.csv';
}
file_put_contents('./export/'.$name, $str);
//文件路径
$file = './export/'.$name;
//告诉浏览器文档类型(mime类型); octet-stream指的是二进制文件类型;下载任何类型的文件都可以这么指定
header("Content-Type:application/octet-stream");
//告诉浏览器以附件方式对待文件(即下载文件);并设置下载后的文件名
header("Content-Disposition:attachment; filename=".$name);
//告诉浏览器文件大小的单位
header("Accept-ranges:bytes");
//告诉浏览器文件的大小
header("Accept-Length:". filesize($file));
$h = fopen($file, 'r'); //打开文件
echo fread($h, filesize($file));


posted @ 2017-02-16 23:54  太空刘  阅读(143)  评论(0编辑  收藏  举报