THINKPHP咋样生成文件,例如后台功能要生成配置文件等
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了THINKPHP咋样生成文件,例如后台功能要生成配置文件等相关的知识,希望对你有一定的参考价值。
使用F方法
F方法的特点是:
简单数据缓存;
文件形式保存;
采用php返回数据方式加载缓存;
支持子目录缓存以及自动创建;
支持删除缓存和批量删除;
写入和读取缓存
F('data','test data');默认的保存起始路径是DATA_PATH(该常量在默认配置位于RUNTIME_PATH.'Data/'下面),也就是说会生成文件名为DATA_PATH.'data.php'的缓存文件。
注意:确保你的缓存标识的唯一,避免数据覆盖和冲突。
下次读取缓存数据的时候,使用:
我们可以采用子目录方式保存,例如:
F('user/data',$data); // 缓存写入F('user/data'); // 读取缓存
就会生成DATA_PATH.'user/data.php' 缓存文件,如果user子目录不存在的话,则会自动创建,也可以支持多级子目录,例如:
F('level1/level2/data',$data);如果需要指定缓存的起始目录,可以用下面的方式:
F('data',$data,TEMP_PATH);获取的时候则需要使用:
F('data','',TEMP_PATH);删除缓存
删除缓存也很简单,使用:
F('data',NULL);第二个参数传入NULL,则表示删除标识为data的数据缓存。
支持批量删除功能,尤其是针对子目录缓存的情况,假设我们要删除user子目录下面的所有缓存数据,可以使用:
又或者使用过滤条件删除,例如:
F('user/[^a]*',NULL); 参考技术A 最好就是F方法,直接F($key,$value)就可以,比如 F('admin_config',$config);$config是你的配置条例的数组追问恩恩,我试试,你号多少,方便请教不
参考技术B thinkphp没有这种功能,需要自己写。你可以下载框架:onethink,用最新的thinkphp写的,可能对你有些帮助。 参考技术C 最便捷的就是F写文件很便捷的追问
咋样写呢,不会耶,有示例代码嘛,谢谢
追答写F('data',$Data);
读F('data');
thinkphp整合系列之phpexcel生成生成excel文件
在后台管理中会经常需要将数据生成excel表格的;
php生成excel有两种方案;
一种是通过phpexcel生成xls格式的表格文件;
另一种则直接通过逗号换行生成csv格式的表格文件;
这里先讲解thinkphp整合phpexcel的过程;
示例项目:http://git.oschina.net/shuaibai123/thinkphp-bjyadmin
一:导入phpexcel
/ThinkPHP/Library/Vendor/PHPExcel
二:生成excel的函数
/** * 数组转xls格式的excel文件 * @param array $data 需要生成excel文件的数组 * @param string $filename 生成的excel文件名 * 示例数据: $data = array( array(NULL, 2010, 2011, 2012), array(‘Q1‘, 12, 15, 21), array(‘Q2‘, 56, 73, 86), array(‘Q3‘, 52, 61, 69), array(‘Q4‘, 30, 32, 0), ); */ function create_xls($data,$filename=‘simple.xls‘){ ini_set(‘max_execution_time‘, ‘0‘); Vendor(‘PHPExcel.PHPExcel‘); $filename=str_replace(‘.xls‘, ‘‘, $filename).‘.xls‘; $phpexcel = new PHPExcel(); $phpexcel->getProperties() ->setCreator("Maarten Balliauw") ->setLastModifiedBy("Maarten Balliauw") ->setTitle("Office 2007 XLSX Test Document") ->setSubject("Office 2007 XLSX Test Document") ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") ->setKeywords("office 2007 openxml php") ->setCategory("Test result file"); $phpexcel->getActiveSheet()->fromArray($data); $phpexcel->getActiveSheet()->setTitle(‘Sheet1‘); $phpexcel->setActiveSheetIndex(0); header(‘Content-Type: application/vnd.ms-excel‘); header("Content-Disposition: attachment;filename=$filename"); header(‘Cache-Control: max-age=0‘); header(‘Cache-Control: max-age=1‘); header (‘Expires: Mon, 26 Jul 1997 05:00:00 GMT‘); // Date in the past header (‘Last-Modified: ‘.gmdate(‘D, d M Y H:i:s‘).‘ GMT‘); // always modified header (‘Cache-Control: cache, must-revalidate‘); // HTTP/1.1 header (‘Pragma: public‘); // HTTP/1.0 $objwriter = PHPExcel_IOFactory::createWriter($phpexcel, ‘Excel5‘); $objwriter->save(‘php://output‘); exit; }
三:调用示例
$data = array( array(NULL, 2010, 2011, 2012), array(‘Q1‘, 12, 15, 21), array(‘Q2‘, 56, 73, 86), array(‘Q3‘, 52, 61, 69), array(‘Q4‘, 30, 32, 0), ); create_xls($data);
为了不打乱整合系列的队形;
生成csv格式的表格就等最后再写了;
本文为白俊遥原创文章,转载无需和我联系,但请注明来自白俊遥博客http://baijunyao.com
以上是关于THINKPHP咋样生成文件,例如后台功能要生成配置文件等的主要内容,如果未能解决你的问题,请参考以下文章
thinkphp整合系列之phpexcel生成生成excel文件