Example #1
0
 /**
  * 初始化avatar的md5值
  * 文件字段名为file_name
  */
 public function initAvatarAction()
 {
     $log2 = new FLogger("images_log");
     $t = new FTable("user_detail");
     $t->fields(array("uid", "avatar", "avatarlevel"))->where(array("avatarlevel" => array('neq', '-1'), "uid" => array('gt' => '5000000')))->order(array("uid" => "asc"));
     //$data = $t->limit(10)->select();
     $data = $t->select();
     echo json_encode($data);
     // $log2->append(json_encode($data));
     foreach ($data as $ud) {
         $url = $ud["avatar"];
         $md5 = self::downAndGetMd5($url);
         if ($md5 != "") {
             self::addDb($url, $md5, $ud["avatarlevel"]);
         }
         $log2->append("---" . $ud["uid"] . "--" . $ud["avatar"]);
     }
     /*  echo json_encode($data);
             if(count($data)<=0) return false;
     
             $hArr = array();//handle array
     
             foreach($data as $pic){
     
                 $h = curl_init();
                 curl_setopt($h,CURLOPT_URL,$pic['avatar']);
                 curl_setopt($h,CURLOPT_HEADER,0);
                 curl_setopt($h,CURLOPT_RETURNTRANSFER,1);//return the image value
     
                 array_push($hArr,$h);
             }
     
             $mh = curl_multi_init();
             foreach($hArr as $k => $h){
                 curl_multi_add_handle($mh,$h);
             }
             $running = null;
             do{
                 curl_multi_exec($mh,$running);
             }while($running > 0);
     
             // get the result and save it in the result ARRAY
            // $picsArr = array();
             foreach($hArr as $k => $h){
                 $r = curl_multi_getcontent($h);
                 $picsArr[$k]['data']  = $r;
                 echo $k."--".json_encode($picsArr)."<br>";
             }
     
             //close all the connections
             foreach($hArr as $k => $h){
                 $info = curl_getinfo($h);
                 preg_match("/^image/(.*)$/",$info['content_type'],$matches);
               //  echo($info);
               echo $k."--".md5_file($info)."<br>";
                 curl_multi_remove_handle($mh,$h);
             }
             curl_multi_close($mh);*/
     return true;
 }
Example #2
0
 public static function updateSystemCache()
 {
     $setting_file = WEB_ROOT_DIR . self::$cache_file;
     //        FFile::rmDir(WEB_ROOT_DIR . 'data/system/');
     $t = new FTable('setting');
     $settings = $t->select();
     $setting_write = array();
     foreach ($settings as $row) {
         $setting_write[$row['setting_key']] = $row['setting_value'];
     }
     FFile::save($setting_file, "<?php\n" . 'return ' . var_export($setting_write, true) . ';');
     FCache::flush();
 }
Example #3
0
 public function groupAction()
 {
     global $_F;
     $groupTable = new FTable('manager_group');
     $groupList = $groupTable->select();
     $this->assign('groupList', $groupList);
     $this->display('admin/manager-group-list');
 }
Example #4
0
 public function doSleepAction()
 {
     /* $Url = 'http://image1.yuanfenba.net/uploads/oss/photo/201508/20/20000561547.jpg@%20256w_90Q_1x.jpg';
             $S = parse_url($Url);
     
             if($Url){
                 $index = strrpos($Url,"@",0);
                 if($index){
                     $Url = strstr($Url, '@', TRUE);
                 }
             }
             echo $Url."<br>";
     
             echo json_encode($S)."<br>";
             $S = strtolower($S['host']) ; //取域名部分
     
             $re = pathinfo($Url);
             echo json_encode($re)."<br>";
             if(!strpos($S,"yuanFenba.net")){
                 echo"no error path";
             }else{
                 echo "yes";
             }
     \
             echo $S;*/
     /*for($i =0;$i<=100;$i++){
           $r = rand(0,20);
           echo (rand(0,20)-10)."<br>";
       }*/
     /*$url = "http://image2.yuanfenba.net/uploads/oss/photo/201506/19/13072474951.jpg";
             //获取图片二进制流
             $ch = curl_init();
             curl_setopt($ch, CURLOPT_URL, $url);
             // curl_setopt($ch, CURLOPT_GET, 1);
             // curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
             curl_setopt($ch,CURLOPT_HEADER,0);
             curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//return the image value
     
             //  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
             // curl_setopt($ch, CURLOPT_TIMEOUT, 15);
     
             curl_setopt($ch,CURLINFO_CONTENT_LENGTH_DOWNLOAD,1);//content 下载原大小
             curl_setopt($ch,CURLINFO_SIZE_DOWNLOAD,1);//实际下载大小
     
             $imageData = curl_exec($ch);
             $info = curl_getinfo($ch);
             curl_close($ch);
     
            // dfsdaf
            var_dump($info);
             echo("-------".$info["size_download"]!=$info["download_content_length"]);
             if($info["size_download"]!=$info["download_content_length"]){
                 // 实际下载大小于源文件大小不符
               //  echo("-------");
     
             }
             $md5 = md5($imageData);*/
     $stm = time();
     $log2 = new FLogger("images_log");
     $log2->append("---begin----" . $stm);
     $t = new FTable("user_detail");
     $t->fields(array("uid", "avatar", "avatarlevel"))->where(array("avatarlevel" => array('neq', '-1'), "uid" => array('gt' => '5025587')))->order(array("uid" => "asc"));
     //$data = $t->limit(100)->select();
     $res = $t->select();
     $data = $res;
     $log2->append("---begin----" . count($data));
     $i = 0;
     foreach ($data as $ud) {
         $url = $ud["avatar"];
         if ($url == "") {
             continue;
         }
         $image_table = new FTable("image_md5");
         $n = $image_table->where(array("url" => $url))->count();
         if ($n > 0) {
             $log2->append("-ok--" . $ud["uid"] . "--" . $ud["avatar"]);
             continue;
         }
         // sleep(1);
         //获取图片二进制流
         $ch = curl_init();
         curl_setopt($ch, CURLOPT_URL, $url);
         // curl_setopt($ch, CURLOPT_GET, 1);
         // curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
         curl_setopt($ch, CURLOPT_HEADER, 0);
         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
         //return the image value
         //  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
         // curl_setopt($ch, CURLOPT_TIMEOUT, 15);
         $imageData = curl_exec($ch);
         $info = curl_getinfo($ch);
         curl_close($ch);
         // 判断是否全部下载完成
         if ($info["size_download"] != $info["download_content_length"]) {
             // 实际下载大小于源文件大小不符
             $log2->append("-下载不完整-" . $ud["uid"] . "--" . $ud["avatar"] . "---实际:-" . $info["size_download"] . "-源文件:-" . $info["download_content_length"]);
             continue;
         }
         $md5 = md5($imageData);
         /*if($i%20==0){
               $log2->append("---".$ud["uid"]."--".$ud["avatar"]."md5: ".$md5);
           }*/
         $log2->append("---" . $ud["uid"] . "--" . $ud["avatar"] . "md5: " . $md5);
         $t = 0;
         $img = array("url" => $url, "md5" => $md5, "type" => "avatar", "status" => $t);
         $image_table2 = new FTable("image_md5");
         try {
             $image_table2->insert($img);
         } catch (Exception $e) {
             $log2->append("重复key :" . $url . "e: " . $e->getTraceAsString());
         }
         $i++;
     }
 }
Example #5
0
 /**
  * 获取所有的统计子渠道
  */
 public static function getAllSpm()
 {
     /*$url = self::$API_SERVICE_URL."/user2/getCAllList";
       $ret = FHttp::get($url);
       $obj = json_decode($ret,true);
       $spm_arr = array();
       foreach($obj as $key => $value){
         //  echo("uid: ".$key."   name :".$value["username"]);
           $c_sid_arr = $value["c_sid"];
           if($c_sid_arr){
               foreach($c_sid_arr as $sub_id => $sub_v){
                 //  echo("sid: ".$sub_id."   name :".$sub_v["username"]);
                  // $spm = array("c_uid"=>$key,"c_sid"=>$sub_id,"c_name"=>$value["username"],"c_s_name"=>$sub_v["username"]);
                   $spm = array("c_uid"=>$key,"c_sid"=>$sub_id,"c_name"=>$key,"c_s_name"=>$sub_v["username"]);
                   array_push($spm_arr,$spm);
               }
           }else{
               // $spm = array("c_uid"=>$key,"c_sid"=>"","c_name"=>$value["username"],"c_s_name"=>"");
               $spm = array("c_uid"=>$key,"c_sid"=>"","c_name"=>$key,"c_s_name"=>"");
               array_push($spm_arr,$spm);
           }
       }*/
     $spm_arr = array();
     $table = new FTable("stats_spm");
     $res = $table->select();
     foreach ($res as $key => $value) {
         $item = array();
         $item["c_uid"] = $value["cid"];
         $item["c_sid"] = $value["sid"];
         $item["c_name"] = $value["spm_name"];
         $item["c_s_name"] = $value["spm_name"];
         array_push($spm_arr, $item);
     }
     return $spm_arr;
 }