PHP中CodeIgniter入门教程——第一课 初识框架
演示版本 CodeIgniter_2.2.0 文件目录: 浏览器执行结果: 首页控制器: 打开文件可以看到: 从上图可以看出,首页…
Read more演示版本 CodeIgniter_2.2.0 文件目录: 浏览器执行结果: 首页控制器: 打开文件可以看到: 从上图可以看出,首页…
Read moreThinkPHP怎么导入自己写的类库呢?放在项目的Lib/Action文件夹下又不是太合适,能不能导入自定义位置的类库呢? 把自定义的类库放到Lib文件夹,如图所示 然后在…
Read more我上小学时从一到四年级都是好学生,班级前十名。我时常把功劳归功于我当时的老师,因为老师上课讲的仔细,讲的慢,遇到学生不懂得会停下来、不厌其烦 的、反反复复的跟我们讲解,直到我们达到“满脑子都是课本知识…
Read morePHP方法获取哪个搜索引擎来源和关键字。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 |
<?php /** * 搜索引擎关键字和引擎来源 */ class get_engine { //得到内容 function get_e(){ if (empty($_SERVER['HTTP_REFERER'])) { return; } $url = $_SERVER['HTTP_REFERER']; $arr = $this->save_www_iiwnet_com_keyword($url,$url); $keywords = $arr['keywords']; $searchengine = $arr['searchengine']; $data = array( 'keywords' => $keywords, 'searchengine' => $searchengine, ); // $this->db->insert('engine',$data); return $data; } //根据主机来源 function save_www_iiwnet_com_keyword($domain,$path){ $keywords = ''; $searchengine = ''; if(strpos($domain, 'google.com.tw')!==false && preg_match('/q=([^&]*)/i',$path,$regs)){ $searchengine = 'GOOGLE TAIWAN'; $keywords = urldecode($regs[1]); // google taiwan } if(strpos($domain,'google.cn')!==false && preg_match('/q=([^&]*)/i',$path,$regs)){ $searchengine = 'GOOGLE CHINA'; $keywords = urldecode($regs[1]); // google china } if(strpos($domain,'google.com')!==false && preg_match('/q=([^&]*)/i',$path,$regs)){ $searchengine = 'GOOGLE'; $keywords = urldecode($regs[1]); // google }else if(strpos($domain,'baidu.')!==false && preg_match('/wd=([^&]*)/i',$path,$regs)){ $searchengine = 'BAIDU'; $keywords = urldecode($regs[1]); // baidu }else if(strpos($domain,'baidu.')!==false && preg_match('/word=([^&]*)/i',$path,$regs)){ $searchengine = 'BAIDU'; $keywords = urldecode($regs[1]); // baidu }else if(strpos($domain,'114.vnet.cn')!== false && preg_match('/kw=([^&]*)/i',$path,$regs)){ $searchengine = 'CT114'; $keywords = urldecode($regs[1]); // ct114 }else if(strpos($domain,'iask.com')!==false && preg_match('/k=([^&]*)/i',$path,$regs)){ $searchengine = 'IASK'; $keywords = urldecode($regs[1]); // iask }else if(strpos($domain,'soso.com')!==false && preg_match('/w=([^&]*)/i',$path,$regs)){ $searchengine = 'SOSO'; $keywords = urldecode($regs[1]); // soso }else if(strpos($domain, 'sogou.com')!==false && preg_match('/query=([^&]*)/i',$path,$regs)){ $searchengine = 'SOGOU'; $keywords = urldecode($regs[1]); // sogou }else if(strpos($domain,'so.163.com')!==false && preg_match('/q=([^&]*)/i',$path,$regs)){ $searchengine = 'NETEASE'; $keywords = urldecode($regs[1]); // netease }else if(strpos($domain,'yodao.com')!== false && preg_match('/q=([^&]*)/i',$path,$regs)){ $searchengine = 'YODAO'; $keywords = urldecode($regs[1]); // yodao }else if(strpos($domain,'zhongsou.com')!==false && preg_match('/word=([^&]*)/i',$path,$regs)){ $searchengine = 'ZHONGSOU'; $keywords = urldecode($regs[1]); // zhongsou }else if(strpos($domain,'search.tom.com')!==false && preg_match('/w=([^&]*)/i',$path,$regs)){ $searchengine = 'TOM'; $keywords = urldecode($regs[1]); // tom }else if(strpos($domain,'live.com')!==false && preg_match('/q=([^&]*)/i',$path,$regs)){ $searchengine = 'MSLIVE'; $keywords = urldecode($regs[1]); // MSLIVE }else if(strpos($domain, 'tw.search.yahoo.com')!==false && preg_match('/p=([^&]*)/i',$path,$regs)){ $searchengine = 'YAHOO TAIWAN'; $keywords = urldecode($regs[1]); // yahoo taiwan }else if(strpos($domain,'cn.yahoo.')!==false && preg_match('/p=([^&]*)/i',$path,$regs)){ $searchengine = 'YAHOO CHINA'; $keywords = urldecode($regs[1]); // yahoo china }else if(strpos($domain,'yahoo.')!==false && preg_match('/p=([^&]*)/i',$path,$regs)){ $searchengine = 'YAHOO'; $keywords = urldecode($regs[1]); // yahoo }else if(strpos($domain,'msn.com.tw')!==false && preg_match('/q=([^&]*)/i',$path,$regs)){ $searchengine = 'MSN TAIWAN'; $keywords = urldecode($regs[1]); // msn taiwan }else if(strpos($domain,'msn.com.cn')!==false && preg_match('/q=([^&]*)/i',$path,$regs)){ $searchengine = 'MSN CHINA'; $keywords = urldecode($regs[1]); // msn china }else if(strpos($domain,'msn.com')!==false && preg_match('/q=([^&]*)/i',$path,$regs)){ $searchengine = 'MSN'; $keywords = urldecode($regs[1]); // msn } if ($keywords == '') { $keywords = $path; } if ($searchengine == '') { $searchengine == $path; } return array('keywords'=>$keywords,'searchengine'=>$searchengine); } } $obj=new get_engine(); $arr=$obj->get_e(); var_dump($arr); ?> |
Read more
codeigniter (ci)数据库操作教程 增删改查简单介绍 增加数据
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
/*数据insert*/ $data = array( 'username' => $this->input->post("username"), 'password' => $this->input->post("password"), 'admin' => rand(0,99), ); //第一个参数为表名,第二个参数为传值 $res=$this->db->insert('hy_test', $data); //获取增加的id $new_id_number = $this->db->insert_id(); |
修改数据 [crayon-67451b1e…
Read more分页的简单教程 要想分页先必须获取所有数据。 对于某个表的不带条件的count,可以简单的用 $total = $this->db->count_all($table_name) 来获取,…
Read more1.偏执 这一点与我而言几乎是天生的。我几乎是靠自学才成为了程序员。 我从不相信电脑,也不相信我刚刚修复的bug真的已经修复好了,总之我不相信任何东西。我甚至连自己都不相信。除非多次检验之后,我才会相…
Read more产品经理(PM)对技术的了解应该在以下几方面: 1.技术架构/实现方式 比如设计一个网站类的产品是使用什么编程语言开发的php,jsp或者Python。确定了编程语言以…
Read more这篇文章简单讲述了支付宝、盛付通支付接口简单案列,通俗易懂,简单明了、=。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
<?php class test { private $key='111'; /*验证*/ public function verify() { $prepare_data['a']='aaa'; $prepare_data['b']='bbb'; $prepare_data['c']='ccc'; $prepare_data['d']='ddd'; $prepare_data['e']='eee'; $prepare_data['f']='fff'; $prepare_data['g']='ggg'; $prepare_data['h']='hhh'; $prepare_data['i']='iii'; $prepare_data['k']=''; foreach($prepare_data as $value){ if(!empty($value)) $origin.=$value; } $prepare_data['SignMsg']=strtoupper(md5($origin.$this->key)); return $prepare_data; } /*相应*/ public function receive() { if($this->returnSign()){ /*支付成功*/ $return_data['order_id'] = $_POST['OrderNo']; $return_data['payment_id'] = $_POST['TransNo']; $return_data['price'] = $_POST['TransAmount']; $return_data['order_status'] = 0; return $return_data; echo 'OK'; }else{ echo 'Error'; error_log(date('m-d H:i:s',SYS_TIME).'| GET: illegality notice : flase |'."\r\n", 3, CACHE_PATH.'pay_error_sanda.php'); showmessage(L('illegal_sign')); return false; } } /*响应数据验证*/ private function returnSign(){ $params=array( 'aaa'=>'', 'bbb'=>'', 'ccc'=>'', 'ddd'=>'', 'eee'=>'', 'fff'=>'', 'ggg'=>'', 'hhh'=>'', 'iii'=>'', 'SignType'=>'MD5', ); foreach($_POST as $key=>$value){ if(isset($params[$key])){ $params[$key]=$value; } } $TransStatus=(int)$_POST['TransStatus']; $origin=''; foreach($params as $key=>$value){ if(!empty($value)) $origin.=$value; } $SignMsg=strtoupper(md5($origin.$this->key)); if($SignMsg==$_POST['SignMsg'] and $TransStatus==1){ return true; }else{ return false; } } } $object=new test(); var_dump($object->verify()); ?> |
Read more
这篇文章讲解了PHP的数组参数根据字母排序,并将数组中的成员用连接符号连接。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?php /** * $data为所有需要参与签名的变量的数组 * $key 为开发商提供的key */ function createSign($data, $key) { ksort($data); $args = ''; foreach ($data as $k => $value) { $args .= $k . '=' . $value . '&'; } $args = rtrim($args, '&'); return md5($args . $key); } |
Read more