带yii框架下写一个定时任务,扫描某一目录$target下的json文件,并导入指定的数据库中
实现:1.把需要入库的json文件放在指定目录$target下
2.执行定时任务,导入到mongo库Vote_teacher中
/opt/modules/php/bin/php /www/web/protected/yiic.php import VoteTeacher
3.定时任务代码:
/web/protected/commandsImportCommand.php
?php * 导入mongo库到测试环境 * @author lizhihui * @date 2018-4-9 * @console php www/web/protected/yiic.php import VoteTeacher /tmp/abc1.txthtml' target='_blank'>class ImportCommand extends CConsoleCommand public $target= /www/web/html/import/ //扫描的目录 public $model; //入库的数据库对象 public function run($args) { if (isset($args[0])) { $this- showMessage( params error , 1); exit; $this- model = $args[0]; $this- import(); * 分析用户回答的信息并按格式入库vote_answer * @author lizhihui * @date 2018-4-9 private function import() $files = scandir($this- target); //读取目录下文件 foreach ($files as $key = $val) { $val = pathinfo($val); $extension = $val[ extension //过滤掉非json格式 if($extension!= json ){ continue; $filePath=$this- target.$val[ basename $fp=fopen($filePath, r $content= while (!feof($fp)){ $content.=fread($fp, filesize($filePath)/10);//每次读出文件10分之1 //进行处理 $arr=json_decode($content); if(empty($arr)){ $this- showMessage( no data to import die(); //实例化不同数据库 $tag=true; foreach ($arr as $key = $val) { //存储 $aVal = (array)$val; $model = new $this- model; if($model instanceof SMongodb){//动态字段存储 foreach ($aVal as $k = $v) { $model- $k=$v; }else{//非动态字段存储 $model- attributes=$aVal; if(!$model- save()){ $tag=false; }else{ unset($model); //销毁一个对象,再次使用的时候会new一个新的 if(!$tag){ $this- showMessage( some error in import }else{ $this- showMessage( import success!
独孤九贱(5)_ThinkPHP5视频教程ThinkPHP是国内最流行的中文PHP开发框架,也是您Web项目的最佳选择。《VeVb.com独孤九贱(5)-ThinkPHP5视频教程》课程以ThinkPHP5最新版本为例,从最基本的框架常识开始,将...
Peter-Zhu 2017-05-16 12:03:57
独孤九贱(4)_PHP视频教程江湖传言:PHP是世界上最好的编程语言。真的是这样吗?这个梗究竟是从哪来的?学会本课程,你就会明白了。PHP 出品的PHP入门系统教学视频,完全从初学者的角度出发,绝不玩虚的,一切以实用、有用...
Peter-Zhu 2017-03-20 22:47:17
独孤九贱(1)_HTML5视频教程《VeVb.com原创html5视频教程》课程特色:php 原创幽默段子系列课程,以恶搞,段子为主题风格的php视频教程!轻松的教学风格,简短的教学模式,让同学们在不知不觉中,学会了HTML知识。...
Peter-Zhu 2017-03-13 10:15:11
ThinkPHP5实战之[教学管理系统]本套教程,以一个真实的学校教学管理系统为案例,手把手教会您如何在一张白纸上,从零开始,一步一步的用ThinkPHP5框架快速开发出一个商业项目。
Peter-Zhu 2017-07-24 16:48:56
PHP入门视频教程之一周学会PHP所有计算机语言的学习都要从基础开始,《PHP入门视频教程之一周学会PHP》不仅是PHP的基础部分更主要的是PHP语言的核心技术,是学习PHP必须掌握的内容,任何PHP项目的实现都离不开这部分的内容,通...
PHP教程郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答