成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

yii框架,掃描目錄下文件入數(shù)據(jù)庫

BicycleWarrior / 2251人閱讀

摘要:需求帶框架下寫一個定時任務(wù),掃描某一目錄下的文件,并導(dǎo)入指定的數(shù)據(jù)庫中實現(xiàn)把需要入庫的文件放在指定目錄下執(zhí)行定時任務(wù)導(dǎo)入到庫中定時任務(wù)代碼導(dǎo)入庫到測試環(huán)境掃描的目錄入庫的數(shù)據(jù)庫對象分析用戶回答的信息并按格式入庫讀取目錄下文件

需求:

帶yii框架下寫一個定時任務(wù),掃描某一目錄$target下的json文件,并導(dǎo)入指定的數(shù)據(jù)庫中

實現(xiàn):

1.把需要入庫的json文件放在指定目錄$target下
2.執(zhí)行定時任務(wù),導(dǎo)入到mongo庫Vote_teacher中

/opt/modules/php/bin/php /www/web/protected/yiic.php import VoteTeacher

3.定時任務(wù)代碼:
/web/protected/commandsImportCommand.php

 /tmp/abc1.txt
 */
class ImportCommand extends CConsoleCommand 
{

    public $target="/www/web/html/import/";     //掃描的目錄

    public $model;    //入庫的數(shù)據(jù)庫對象

    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();
            }

            //實例化不同數(shù)據(jù)庫
            $tag=true;
            foreach ($arr as $key => $val) {                
                //存儲
                $aVal = (array)$val;
                $model = new $this->model;
                if($model instanceof SMongodb){//動態(tài)字段存儲
                    foreach ($aVal as $k => $v) {
                        $model->$k=$v;
                    }
                }else{//非動態(tài)字段存儲
                    $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!");
        }
    }    


    /**
     * 信息輸出
     * @author      lizhihui
      * @date        2018-4-9
     */
    private function showMessage($str, $err = 0) {
        if (!$str) {
            return false;
        }
        if ($err) {
            echo "[ERROR]";
        } else {
            echo "[SUCCESS]";
        }

        echo date("Y-m-d H:i:s", time()) . " " . $str . "
";

    }
}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/28729.html

相關(guān)文章

  • Yii2框架URL美化教程

    摘要:注意事項服務(wù)器中配置的虛擬域名必須直接指向入口文件所在目錄,否則在省略的情況下,服務(wù)器無法正確訪問到項目。 Yii2.0默認的訪問形式為: http://www.xxx.com/index.php?r=post/index&id=100 一般我們都會考慮將其美化一下,變成如下的形式: http://www.xxx.com/post/100.html 接下來就是美化的步驟 一、配置htt...

    jk_v1 評論0 收藏0
  • php yii2框架在linux/mac環(huán)境的安裝教程 2018年最新版

    摘要:一下載介紹下什么是是用來管理依賴關(guān)系的工具你可以在自己的項目中聲明所依賴的工具庫,會幫你安裝這些依賴的庫文件。 一、 下載Composer 1.介紹下什么是Composer? 是 PHP用來管理依賴關(guān)系的工具,你可以在自己的項目中聲明所依賴的工具庫,Composer會幫你安裝這些依賴的庫文件。避免重復(fù)造輪子 2.下載路徑 官方地址 https://getcomposer.org/中文...

    kelvinlee 評論0 收藏0
  • Swagger PHP使用指南

    摘要:,已經(jīng)好了,試著訪問根目錄下,比如試試,出現(xiàn)界面就成功了沒從先就用命令看下的路由最上面條就是剛剛添加的路由。 先說什么是Swagger, Swagger的使用目的是方便優(yōu)美的呈現(xiàn)出接口API的各種定義, 生成API文檔, 包括參數(shù), 路徑之類. 有時后端改了API的參數(shù)或者其他設(shè)置, 前端直接看這個Swagger UI就可以, 方便項目管理和團隊協(xié)作. 官網(wǎng): http://swagg...

    cnio 評論0 收藏0
  • Yii2系列教程二:MVC Forms 和 Layouts

    摘要:而且很明顯地,我們可以看到,一旦輸入框在失去焦點的時候,如果里面沒有輸入任何內(nèi)容,每個輸入框就會有相應(yīng)的錯誤提示,用戶體驗很不錯。 原文來自: https://jellybool.com/post/programming-with-yii2-exploring-mvc-forms-a... 上一篇文章我們簡單地實現(xiàn)了Yii2框架安裝和Hello World,而在這一篇文章當(dāng)中...

    ThreeWords 評論0 收藏0
  • YII2快速學(xué)習(xí)筆記

    摘要:高性能始終是的首要目標之一。版是上代的老版本,現(xiàn)在處于維護狀態(tài)。版是一個完全重寫的版本,采用了最新的技術(shù)和協(xié)議,包括依賴包管理器代碼規(guī)范命名空間特質(zhì)等等。所以,我們學(xué)習(xí)版本。啟用本鏡像服務(wù)系統(tǒng)全局配置即將配置信息添加到的全局配置文件中。 工作中需要用到Y(jié)II框架,于是乎,系統(tǒng)的學(xué)習(xí)下這套框架,詳細教程請看考該站完整系列:YII2教程 一、YII簡介 1、什么是YII Yii 是一個高性...

    kbyyd24 評論0 收藏0

發(fā)表評論

0條評論

BicycleWarrior

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<