/** * 初始化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; }
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(); }
public function groupAction() { global $_F; $groupTable = new FTable('manager_group'); $groupList = $groupTable->select(); $this->assign('groupList', $groupList); $this->display('admin/manager-group-list'); }
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++; } }
/** * 获取所有的统计子渠道 */ 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; }