php学习
slowman
^__^人生最重要的并不是努力,而是方向。压力不是有人比你努力,而是比你厉害几倍的人依然比你努力……
展开
-
php一致性hash
<?php/** * Flexihash - A simple consistent hashing implementation for PHP. * * The MIT License * * Copyright (c) 2008 Paul Annesley * * Permission is hereby granted, free of charge, to any转载 2015-02-06 09:20:09 · 629 阅读 · 0 评论 -
PHP5 session 详解【经典】
http协议是WEB服务器与客户端(浏览器)相互通信的协议,它是一种无状态协议。所谓无状态,指的是不会维护http请求数据,http请求是独立的,非持久的。而越来越复杂的WEB应用,需要保存一些用户状态信息。这时候,Session这种方案应需而生。PHP从4.1开始支持Session管理。session是很抽象的一个概念。我们不妨先从与它几个息息相关的有迹可寻的小切入点入手,然后逐渐地认识转载 2014-02-25 16:59:45 · 596 阅读 · 0 评论 -
PHPRPC安装与使用
我们会首先介绍如何下载与安装 PHPRPC,之后我们会以 PHP、Java 和 JavaScript 三种语言来给出几个简单的示例,让你对 PHPRPC 有一个快速的认识。如果你所使用的语言并不是这三种语言,也没有关系,在你需要的语言章节中同样也会看到类似的简单示例。下载你可以直接从本站的下载页中下载到每种语言最新版本的 PHPRPC,也可以通过本站主页上左面的 [Download L转载 2014-01-22 11:27:39 · 2414 阅读 · 0 评论 -
PHPRPC for php 登陆的实现
一直想研究下php下的web service究竟是什么样子的。今天终于抽出时间了。在网上找了下这个phprpc对php 下的web service封闭的不错,也支持其它版本的。在这里只提下phprpc for php的小应用,感兴趣的可以到官网上了解下其它版本官网:http://www.phprpc.org/zh_CN/首先简单说下怎么搭建吧,下载phprpc_3.0.1_php.转载 2014-01-22 10:17:52 · 1085 阅读 · 0 评论 -
$HTTP_RAW_POST_DATA
这是手册里写的总是产生变量包含有原始的 POST 数据。否则,此变量仅在碰到未识别 MIME 类型的数据时产生。不过,访问原始 POST 数据的更好方法是 php://input。$HTTP_RAW_POST_DATA 对于 enctype="multipart/form-data" 表单数据不可用。 问题: $HTTP_RAW_POST_DATA == $_POST 吗转载 2014-01-14 18:22:30 · 779 阅读 · 0 评论 -
ucenter实现跨域单点登陆的方法
<?php/** * 1.每一个应用都要包含uc_client,下面拿uchome代码举例 * 2.uchome登陆时访问source/do_login.php 的getpassport函数,getpassport通过uc_client 直接连ucenter的数据库,实现当前站点的登陆 * 3.uchome然后调用$ucsynlogin = uc_user_synlogin ( $seta转载 2014-01-22 11:14:58 · 1683 阅读 · 1 评论 -
php数组转换成xml
<?phpfunction array2xml($array, $tag){ function ia2xml($array){ $xml=""; foreach ($array as $key=>$value) { if (is_array($value)) { $xml.="".ia2xml($value).""; } else { $xml.="".$v转载 2014-01-22 10:29:37 · 586 阅读 · 0 评论 -
常用用的header状态值,记录下来以免忘记
<?php//200 正常状态header('HTTP/1.1 200 OK');// 301 永久重定向,记得在后面要加重定向地址 Location:$urlheader('HTTP/1.1 301 Moved Permanently');// 重定向,其实就是302 暂时重定向header('Location: http://www.maiyoule.com/');// 设转载 2014-01-07 17:37:18 · 580 阅读 · 0 评论 -
分表后的查询
public function getDouRecordList($sql,$p){ $totals = 0; $listRows = 20; $record1Arr = $record2Arr= array(); $recordNum1 = M('users_jd_log')->where($sql)->count(); $recordNum2 = M('users_j原创 2014-01-03 14:14:34 · 907 阅读 · 0 评论 -
php用反射实现多继承
<?phpclass multi_extends { public function __construct() { $this->_init_extends (); } protected function _init_extends() { if (property_exists ( $this, '_extends' )) { $extends = &$this->_e转载 2013-12-18 17:12:28 · 574 阅读 · 0 评论 -
长连接,长轮询
http://www.cnblogs.com/hoojo/p/longPolling_comet_jquery_iframe_ajax.html转载 2013-12-04 23:21:29 · 468 阅读 · 0 评论 -
Cache-control”:private、no-cache、max-age
网页的缓存是由HTTP消息头中的“Cache-control”来控制的,常见的取值有private、no-cache、max-age、must-revalidate等,默认为private。其作用根据不同的重新浏览方式分为以下几种情况:(1) 打开新窗口如果指定cache-control的值为private、no-cache、must-revalidate,那么打开新窗口访问时都会重新访问转载 2013-12-09 16:25:00 · 691 阅读 · 0 评论 -
PHP 5.3.1 安装包 VC9 VC6 区别是什么
在PHP100混了这么久也写点东西出来吧,最近在PHP官网上看到又有新版的PHP下载了,于是上去找找For Windows的版本,可是一看确傻眼了,一共给了四个版本,VC9 x86 Non Thread Safe、VC9 x86 Thread Safe、VC6 x86 Non Thread Safe、VC6 x86 Thread Safe,这让我这个菜鸟头疼啊,还好PHP官网提供下载的地方左边转载 2013-11-13 14:56:11 · 830 阅读 · 0 评论 -
通过php反射机制实现栏目显示
通过php反射机制我们可以实现栏目的动态扩从1.文件夹目录2.通过定义一个plugin接口<?phpinterface IPlugin { static function getName(); static function init(); static function getMenu();}?>3.让不同类目文件实现此方法<?p原创 2013-11-12 13:24:31 · 581 阅读 · 0 评论 -
利用php反射机制实现动态代理模式
<?phpinterface classDao{ public function eat(); }class Classone implements classDao{ public function eat(){ echo "one 吃东西"; }}class Classtwo implements classDao{ public function eat原创 2013-11-12 13:16:59 · 1544 阅读 · 0 评论 -
用php生成一个日历
CSS Tablestd { border-right: 1px solid #C1DAD7; border-bottom: 1px solid #C1DAD7; background: #fff; font-size: 11px; padding: 6px 6px 6px 12px; color: #4f6b72;}.bg{color:red;} <?php原创 2013-11-12 13:08:05 · 2128 阅读 · 0 评论 -
php循环得到文件夹文件
function my_scandir1($dir) {$files = array ();$dir_list = scandir ( $dir );foreach ( $dir_list as $file ) {if ($file != ".." && $file != ".") {if (is_dir ( $dir . "/" . $file )) {$files =原创 2014-02-27 20:44:48 · 484 阅读 · 0 评论 -
抽奖概率-三种算法
最近接触到一个抽奖需求,加上平时玩的暗黑3很少掉暗金装备,就抽空学习下这类概率问题,暂时按网络称为掉宝类型概率。例如游戏中打败一个boss,会掉落下面其中一个物品,而每个物品都有一定概率:1. 靴子 20%2. 披风 25%3. 饰品 10%4. 双手剑 5%5. 金币袋 40%现在的问题就是如何根据概率掉落一个物品给玩家。一. 一般算法:生成一个列表,分成几个转载 2014-03-03 17:28:15 · 16738 阅读 · 0 评论 -
phpmailer发送邮件 SMTP Error: Could not authenticate 错误
今天在使用phpmailer发送邮件时居然提示SMTP Error: Could not authenticate,这个感觉是smtp设置的问题,下面我在网上找到了几种解决办法。今天在使用phpmailer发送smtp邮件时提示 SMTP Error: Could not authenticate 错误,其中密码帐号都是正确的,邮箱也设置开启了SMTP功能。上谷歌百度了一遍,有转载 2014-03-14 17:54:54 · 17291 阅读 · 1 评论 -
php启动session失败的解决办法
php启动session失败,原因应该是排查步骤:1、创建一个phpinfo.php,在浏览器中打开。phpinfo();?>重点关注session部分 2、session.cookie_domain设置了A域名,即session.cookie_domain = A域名结果导致session cookies在B域名失效。解决办法1:将php.ini中的sessi转载 2014-10-20 18:06:45 · 987 阅读 · 0 评论 -
php中global与$GLOBAL的用法及区别
php中global 与 $GLOBALS[""] 差别 原本觉得global和$GLOBALS除了写法不一样觉得,其他都一样,可是在实际利用中发现2者的差别还是很大的!先看下面的例子:PHP代码转载 2014-08-20 11:25:47 · 578 阅读 · 0 评论 -
在Thinkphp中使用Soap
1,soap要用到的代码:转载 2014-08-06 14:49:23 · 4239 阅读 · 0 评论 -
php调用webservice
1.生成wsdl的文件类<?phpclass Wsdl { private $_operations; private $_types; private $_messages; private $_namespace; private $_serviceName; public function generateWsdl($className,原创 2014-08-06 15:28:23 · 599 阅读 · 0 评论 -
php面试经典问题
面试题没有答案,这个需要自己百度查找,各位亲们不要偷懒!多多学习吧!一般有三年以上php开发经验去百度、腾讯面试,常会接触的面试题小总结一下:0.简单做一下自我介绍,? 然后谈一下近三年来你的得意之作?1.面试官看过你的简历,会问一些你做的项目的用户量、pv、吞吐量、相关难点和解决方法等2.数据库设计经验,为什么进行分表? 分库?一般多少数据量开始分表? 分转载 2014-07-07 17:00:23 · 2319 阅读 · 2 评论 -
PHP正则表达式模式修正符
PHP正则表达式 /i, /is, /s, /isU等 都是些什么东西呢?1、正则表达式运算顺序( ) 圆括号因为是内存处理所以最高* ? + { } 重复匹配内容其次^ $ \b 边界处理第三条件处理第四最后按照运算顺序计算匹配2、正则表达式模式修正符i 正则内容在匹配时候不区分大小写(默认是区分的)m 在匹配首内容或者尾内容时候采用多行识别匹配S转载 2014-05-13 14:51:32 · 469 阅读 · 0 评论 -
php图片裁剪
<?phpclass SimpleImage { var $image; var $image_type; function load($filename) { $image_info = getimagesize ( $filename ); $this->image_type = $image_info [2]; if ($this->image_type == IMAGE转载 2014-03-26 14:15:35 · 479 阅读 · 0 评论 -
PHP压缩解压缩类:PclZip
PclZip是一个强大的压缩与解压缩zip文件的PHP类,PclZip library不仅能够压缩与解压缩Zip格式的文件;还能出压缩档的内容。同时也可以对现有的ZIP包进行添加或删除文件。官方网站:http://www.phpconcept.net/pclzip/index.php以下为一个简单的压缩全站进行备份的代码:require_once('pclzip.lib.p转载 2014-05-06 14:12:42 · 572 阅读 · 0 评论 -
php的策略模式
<?php/** * 策略模式 * 定义了算法族,分别封装起来,让它们之间可以互相替换, * 此模式让算法的变化独立于使用算法的客户。 *///飞行行为接口interfaceFlyBehavior { publicfunction fly();}//呱呱叫行为接口interfaceQuackBehavior { publicfunction quack();}转载 2012-09-04 15:52:39 · 272 阅读 · 0 评论 -
mysql 查看负载
mysql 查看负载2009-06-08 13:191.mysql>;\s2.查看mysql的负载高的原因:编辑MYSQL配置文件my.cnf,加上以下几行:log_slow_queries=/usr/local/mysql/data/log_slow_queries.log //慢语句日志保存目录long_query_time=10 //记录SQL查询超过转载 2014-05-05 13:00:31 · 1631 阅读 · 0 评论 -
JAVA跟PHP对比,开发网站,各种优劣势如何
这样从几个方面来看:一、运行机制:Java代码被编译成字节码后,会在虚拟机里由JIT进行二次编译成为本地码,据传言其执行速度可以和C++相媲美,经过我自己测试,用Java实现一个简单的Memcache协议的缓存服务器,在Java 1.6下运行,和memcache本身相比,同样数据量的存取时间比大概是3:2,虽然有差距,但是比想象的要好很多。Java 1.7在JIT方面做了大量的改进,性能比转载 2013-12-18 17:28:20 · 2286 阅读 · 0 评论 -
PHP Linux Cli 模式下利用 pcntl_fork实现多进程处理
<?php/** * PHP Linux Cli 模式下利用 pcntl_fork实现多进程处理 * */// 进程数$processes = 5;// 所有任务就是是为了输出0到9999中的所有数字// 这些数字将被分成5个块,代表5个进程,// 当输出的时候我们就可以看到所有进程的执行顺序$tasks = range ( 0, 9999 );$blocks =转载 2014-05-04 17:35:47 · 2262 阅读 · 0 评论 -
curl根据cookie防采集
<?phpheader('Content-Type: text/html; charset=utf-8');$cookie_file = dirname(__FILE__).'/cookie.txt'; //$cookie_file = tempnam("tmp","cookie");//先获取cookies并保存$url = "http://www.google.com.hk";$c原创 2014-04-01 10:56:33 · 1519 阅读 · 0 评论 -
数据库批量插入
<?phpclass dbModel { protected $fields = array(); /** * @desc 批量添加 * * @param Array $dataList * @param String $tableName * @return boolean */ public function addAll($dataList,$t原创 2014-03-31 16:48:25 · 612 阅读 · 0 评论 -
Sphinx主配置文件中用php脚本实现include多个配置文件
Sphinx的配置文件的语法是不支持include语法的,那如果多个索引都配置在sphinx.conf主配置文件中,那文件会变得非常的大,于是想看怎样让sphinx的配置文件可以支持include包含多个子配置文件?有个老外在他的博客中提供了用php脚本实现include子配置文件的方法,其博文地址:http://mwillis.co.uk/sphinx/sphin转载 2014-04-15 17:14:58 · 1071 阅读 · 0 评论 -
深入研究PHP及Zend Engine的线程安全模型
在阅读PHP源码和学习PHP扩展开发的过程中,我接触到大量含有“TSRM”字眼的宏。通过查阅资料,知道这些宏与Zend的线程安全机制有关,而绝大多数资料中都建议按照既定规则使用这些宏就可以,而没有说明这些宏的具体作用。不知道怎么回事总是令人不舒服的,因此我通过阅读源码和查阅有限的资料简要了解一下相关机制,本文是我对研究内容的总结。本文首先解释了线程安全的概念及PHP中线程安全的背景,然后详细研转载 2014-03-28 10:07:17 · 560 阅读 · 0 评论 -
php求两个文件的相对路径
<?php$a = 'aa/bb/cc/dd/a.php';$b = 'aa/bb/11/22/33/b.php';function getRelativePath($a, $b) { $aArr = explode ( '/', $a ); $bArr = explode ( '/', $b ); $aLen = count ( $aArr ); $bLen = count原创 2013-11-12 13:06:01 · 670 阅读 · 0 评论 -
防止表单重复提交
用户提交表单时可能因为网速的原因,或者网页被恶意刷新,致使同一条记录重复插入到数据库中,这是一个比较棘手的问题。我们可以从客户端和服务器端一起着手,设法避免同一表单的重复提交。1.使用客户端脚本提到客户端脚本,经常使用的是JavaScript进行常规输入验证。在下面的例子中,我们使用它处理表单的重复提交问题,请看下面的代码:提交" type="button" onClick="转载 2013-11-11 15:58:24 · 678 阅读 · 0 评论 -
模拟php curl向远程服务器上传文件
test.php:header('content-type:text/html;charset=utf8');$ch = curl_init();//加@符号curl就会把它当成是文件上传处理$data = array('img'=>'@'. dirname(__FILE__).'/img/1.jpg');curl_setopt($ch,CURLOPT_URL,"http:转载 2013-11-08 11:58:09 · 606 阅读 · 0 评论 -
php json_encode 后js处理时对中文和韩文的问题
//$record 是查询的结果,是一个数组 $record = json_encode($record); echo $record; 后发现它会把中文或韩文进行编码为 \uxxx 这种格式。此时 $record 知识一个 json 字符串,并非是一个对象。通过js获取该字符串之后需要用 eval 转换为实体对象才能使用。$json_msg = eval(转载 2012-08-02 14:24:36 · 786 阅读 · 0 评论 -
如何设置一个严格30分钟过期的Session
我在面试的时候, 经常会问一个问题: “如何设置一个30分钟过期的Session?”, 大家不要觉得看似简单, 这里面包含的知识挺多, 特别适合考察基本功是否扎实, 谁来回答试试? 呵呵 为什么问这个问题呢? 1. 我在Twitter上看到了有人讨论这个问题, 2 想起来我经常问这个问题, 所以~~ 在这里, 我来解答下这个题目. 第一种回答 那么, 最常见的一种回答是:转载 2012-06-25 13:36:15 · 599 阅读 · 0 评论