
php
文章平均质量分 53
kangjianrong
这个作者很懒,什么都没留下…
展开
-
PHP不到100行代码实现SSO单点登录
1、点击登录跳转到SSO登录页面并带上当前应用的callback地址2、登录成功后生成COOKIE并将COOKIE传给callback地址3、callback地址接收SSO的COOKIE并设置在当前域下再跳回到应用1即完成登录4、再在应用程序需要登录的地方嵌入一个iframe用来实时检测登录状态 <?php //index.php 应用程序页面 heade转载 2013-03-25 09:26:59 · 690 阅读 · 0 评论 -
PHP服务器变量$_SERVER介绍
服务器变量 $_SERVER 汇总介绍:$_SESSION['PHP_SELF'] -- 获取当前正在执行脚本的文件名。$_SERVER['SERVER_PROTOCOL'] -- 请求页面时通信协议的名称和版本。例如,“HTTP/1.0”。$_SERVER['REQUEST_TIME'] -- 请求开始时的时间戳。从 PHP 5.1.0 起有效。和time函数效果一样。$_SERVER[转载 2013-10-25 17:24:21 · 410 阅读 · 0 评论 -
PHP session使用经验汇总
什么是sessionSession 的中文译名叫做“会话”,其本来的含义是指有始有终的一系列动作/消息,比如打电话时从拿起电话拨号到挂断电话这中间的一系列过程可以称之为一个 session。目前社会上对 session 的理解非常混乱:有时候我们可以看到这样的话“在一个浏览器会话期间,...”,这里的会话是指从一个浏览器窗口打开到关闭这个期间; 也可以看到“用户(客户端)在一次会话期间”这样一转载 2013-10-25 17:47:59 · 521 阅读 · 0 评论 -
PHP Session有效期的相关问题
Session处理是所有的Web应用都必须面对的问题。PHP中对session有效期的处理,和其他的解决方案有着很大的不同,这是和PHP的工作机制相关的。在传统的client/server应用中,对于session失效的情况,可以交给网络协议自己来处理。无论是client端主动关闭连接,还是因为网络异常而导致的连接中断,server端都能够得到通知,触发连接中断的事件。只要编程响应这一事件,执转载 2013-10-25 17:49:02 · 439 阅读 · 0 评论 -
PHP并发操作时的加锁功能
有这么一个需求:生成文件的时候,由于多用户都有权限进行生成,防止并发下,导致生成的结果出现错误,需要对生成的过程进行加锁,只容许一个用户在一个时间内进行操作,这个时候就需要用到锁了,将这个操作过程锁起来。在用了cache的时候,cache失效可能导致瞬间的多数并发请求穿透到数据库此时也可以得需要用锁在同一并发的过程中将这个操作锁定。针对以上的2种情况,现在的解决方法是对处理过程进行锁机制,通过转载 2013-10-28 10:25:45 · 580 阅读 · 0 评论 -
PHP作用域限定符::的几个程序例子
双冒号::被认为是作用域限定操作符,用来指定类中不同的作用域级别。::左边表示的是作用域,右边表示的是访问的成员。系统定义了两个作用域,self和parent。self表示当前类的作用域,在类之外的代码是不能使用这个操作符的。Program List:使用self作用域访问父类中的函数0102 classNo转载 2013-11-02 13:29:13 · 586 阅读 · 0 评论 -
几个PHP的静态方法的程序例子
静态方法的规则和静态变量是相同的。使用ststic关键字可以将方法标识为静态方法,通过类的名称和作用域限定操作符::可以访问静态方法。静态方法和非静态方法之间有一个很重要的区别,就是在调用静态方法时,我们不需要创建类的实例。Program List:用类名作为参数用类名作为参数可以解决非继承的静态问题。0102cl转载 2013-11-02 13:25:10 · 489 阅读 · 0 评论 -
CentOS+Nginx+PHP+MySQL详细配置
一、安装MySQL 目前web服务器已经很少有跑静态页面的,如果要跑动态网站那当然就离不开数据库,虽然在以前文章中有写MySQL是怎么安装的,但是感觉好久没装MySQL,现在只把步骤贴出来,就不做过多的讲解了#useradd mysql#tar zxvf mysql-5.0.40.tar.gz#cd mysql-5.0.40#./configure --prefi转载 2013-12-17 15:29:30 · 458 阅读 · 0 评论 -
php实现webservice
php有两个扩展可以实现web service,一个是NuSoap,一个是php 官方的soap扩展,由于soap是官方的,所以我们这里以soap来实现web service.由于默认是没有打开soap扩展的,所以自己先看一下soap扩展有没有打开。 在soap编写web service的过程中主要用到了SoapClient,SoapServer,SoapFault三个类。SoapCl转载 2013-12-23 17:49:05 · 816 阅读 · 0 评论 -
HP正则表达式后面接的/isU, /is, /s是什么意思?
正则式选项i: 表示in-casesensitive,即大小写不敏感s: PCRE_DOTALL,表示点号可以匹配换行符。U: 表示PCRE_UNGREEDY,表示非贪婪,相当于perl/python语言的.*?,在匹配过程中,对于.*正则,一有匹配立即执行,而不是等.*消费了所有字符再一一回退。x:表示忽略空格。转载 2014-04-30 14:06:47 · 646 阅读 · 0 评论 -
Redis_php 学习
PhpRedis是php的一个扩展,效率是相当高有链表排序功能,对创建内存级的模块业务关系很有用;以下是redis官方提供的命令使用技巧:Redis::__construct构造函数1 $redis = new Redis();connect, open 链接redis服务参数: host: string,服务地址 port: int,端口号 timeou转载 2014-03-21 15:17:08 · 435 阅读 · 0 评论 -
如何安全的Include文件
似乎多数人都觉得Include文件是一件非常简单的事情,可惜漏洞往往出现在我们忽视的地方。正所谓千里之堤溃于蚁穴,二战期间,法国人寄希望与马奇诺防线,却忽视了原本认为非常安全的阿登高地,让德国人有机可乘,最终的结果大家都知道了。下面这个例子虽然是我杜撰的,但是我确信现实情况里一定存在类似的问题:<?php$debug = false;// ...$config = incl转载 2014-03-27 10:54:03 · 381 阅读 · 0 评论 -
cookie生命周期
setcookie("name","jinbiao",time()+3600)1、当访问设置cookie的页面时,会向客户端返回如下相应数据Set-Cookie name=jinbiao; expires=Mon, 10-Sep-2012 09:47:09 GMT当浏览器获取该信息后,就会保持该cookie的值到客户端的一个指定的文件夹中2、如果不指定第三个参数,则客户端不会保存c转载 2013-10-25 17:57:07 · 3168 阅读 · 0 评论 -
php中session过期时间设置
php中session过期时间设置网上很多人给出了解答:修改配置文件中的session.gc_maxlifetime。如果想了解更多session回收机制,继续阅读。(本文环境php5.2)概述:每一次php请求,会有1/100的概率(默认值)触发“session回收”。如果“session回收”发生,那就会检查/tmp/sess_*的文件,如果最后的修改时间到现在超过了1440秒(g转载 2013-10-25 17:42:12 · 585 阅读 · 0 评论 -
最高效的无限分类
<?phpheader ( 'Content-Type:text/html;charset=utf-8' );$data = array (array ('cid' => 26, 'parent_cid' => 0, 'name' => '饭' ),array ('cid' => 27, 'parent_cid' => 26, 'name' => '米饭' ),array ('cid'原创 2013-03-25 09:36:27 · 595 阅读 · 0 评论 -
用GD库生成高质量的缩略图片
<? $FILENAME="image_name"; // 生成图片的宽度 $RESIZEWIDTH=400; // 生成图片的高度 $RESIZEHEIGHT=400; function ResizeImage($im,$maxwidth,$maxheig转载 2013-07-18 16:31:41 · 482 阅读 · 0 评论 -
部分PHP问题总结
1:为什么我得不到变量我在一网页向另一网页POST数据name,为什么输出$name时却得不到任何值?在PHP4.2以后的版本中register_global默认为off若想取得从另一页面提交的变量:方法一:在PHP.ini中找到register_global,并把它设置为on.方法二:在接收网页最前面放上这个extract($_POST);extract($_GE转载 2013-07-18 16:28:22 · 511 阅读 · 0 评论 -
采用curl库在PHP程序之间传递数组
最近在工作中遇到一个问题:a.php程序需要将接收到的数据同时写到“线上运行的正式数据库”和“进行开发调试的测试数据库”。而测试数据库可能经常会面临对表结构、字段、配置信息做调整等问题,很不稳定,发生错误的概率很高,如果用a.php程序同时写“正式数据库”和“测试数据库”,势必影响到线上运行的正式服务。 于是,我想到用PHP curl扩展库将生成的$data数组post传递一份给b.ph转载 2013-07-18 16:59:23 · 415 阅读 · 0 评论 -
PHP解析XML的一些方法
首先要说下编码问题,如果XML文件与页面文件编码不一致,那么乱码会产生。解决中文乱码问题可以输出时用以下语句:echo iconv("UTF-8","GBK",$Song_Url);PHP网页的编码php文件本身的编码与网页的编码应匹配, 如果欲使用gb2312编码,那么php要输出头:header("Content-Type: text/html; charset=gb2312"),转载 2013-10-16 10:50:54 · 481 阅读 · 0 评论 -
PHP判断某一天在指定日期的前还是后
有这么一个需求,指定日期是12月12日,在12月12号前我要执行A事件,在其后要执行B事件,怎样判断今天是在12月12日的前还是后?程序如下:<?php$year = 2010;$month = 12; // 月$day = 12; // 日$timeoffset = 8; // 与格林尼治时间 GMT 的时差list($thisyear, $thismonth, $th转载 2013-10-16 11:00:15 · 1168 阅读 · 0 评论 -
PHP数据库长连接mysql_pconnect的细节
PHP的MySQL持久化连接,美好的目标,却拥有糟糕的口碑,往往令人敬而远之。这到底是为啥么。近距离观察后发现,这家伙也不容易啊,要看Apache的脸色,还得听MySQL指挥。对于作为Apache模块运行的PHP来说,要实现MySQL持久化连接,首先得取决于Apache这个web服务器是否支持Keep-Alive。Keep-AliveKeep-Alive是什么东西?它是http协议的一转载 2013-10-16 17:29:43 · 915 阅读 · 0 评论 -
收藏一些规范化输入输出的PHP函数
在PHP网站开发过程中会遇到很多需要转义的地方,下面推荐几个很好的函数,可以很好地增强网站的输入输出规范化问题。1. 纯文本输出,适合inputfunction t($text){ $text = h($text); $text = strip_tags($text); return $text;}2. 多行纯文本 适合textareafunction b转载 2013-10-17 15:27:04 · 361 阅读 · 0 评论 -
PHP session错误提示与调试
Q 1错误提示:1Warning: Cannot send session cookie - headers already sent2Warning: Cannot send session cache limiter - headers already sent这一类问题,原因是你在转载 2013-10-24 14:51:35 · 423 阅读 · 0 评论 -
memcached学习笔记(一)
一、下载Memercached For Windows二、安装步骤1、解压到指定目录,如:C:\Memcached\memcached-win32-1.4.4-14。2、用cmd打开命令窗口,转到解压的目录,输入 “memcached.exe -d install”。3、打开控制面板,打开服务,可以看到memcached已经在上面可,如果没有启动,则手动启动一下。4、转载 2013-10-24 17:07:10 · 453 阅读 · 0 评论 -
memcached学习笔记(三)
查看、分析memcached使用状态来源:芽雨快跑 时间: 2009-02-12 22:44:51 浏览: 92 次 评论: 0 篇Tags : memcached stats缓存 访问量上升,数据库压力大,怎么办?好办法是在中间挡一层缓存!这个缓存要求高效,不能比数据库慢,否则服务质量受影响;如果能把数据用hash打散存储到硬盘,也是可以的,不过在转载 2013-10-24 17:40:18 · 552 阅读 · 0 评论 -
memcached学习笔记(二)
Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这些HashTable。Memcache官方网站:http://www.danga.com/转载 2013-10-24 17:26:56 · 434 阅读 · 0 评论 -
ie下 链接中utf-8乱码问题
一般来说,链接中如有中文,可以用urlencode加密下,但如果遇到用户强行原创 2014-07-02 13:59:06 · 1948 阅读 · 0 评论