PHP
fwkjdaghappy1
这个作者很懒,什么都没留下…
展开
-
instanceof
php关键字:instanceof判断一个对象是否是某一个类的实例原创 2014-08-13 13:36:10 · 502 阅读 · 0 评论 -
PHP之session_write_close
session_write_close — Write session data and end session 说明void session_write_close ( void )End the current session and store session data.Session data is usually stored after yo原创 2013-04-23 22:34:53 · 1407 阅读 · 0 评论 -
PHP超全局变量
超全局变量 — 超全局变量是在全部作用域中始终可用的内置变量通俗点理解就是在函数或者类的方法中调用此变量,无需先global包括以下变量:$GLOBAL;$_SERVER;$_GET;$_POST;$_REQUEST;$_COOKIE;$_SEESION;$_ENV;$_FILES:文件上传的相关变量原创 2013-04-23 22:27:56 · 637 阅读 · 0 评论 -
不要使用(include/require)_once
关于使用include还是include_once(以下,都包含require_once), 这个讨论很长了, 结论也一直有, 就是尽量使用include, 而不是include_once, 最多的理由的是, include_once需要查询一遍已加载的文件列表, 确认是否存在, 然后再加载,此操作势必对效率有所影响.我们知道, PHP去判断一个文件是否被加载, 是需要得到这个文件的ope转载 2013-03-01 14:07:05 · 7139 阅读 · 0 评论 -
PHP检测并清除文件开头的BOM
网上看到的代码,收藏备份之,可以直接运行。<?php/*检测并清除BOM*/$basedir = dirname(__FILE__);//扫描当前文件路径 可自动设置$auto = 1;checkdir($basedir);function checkdir($basedir){ if($dh = opendir($basedir)){ while(($file = readd转载 2013-03-01 00:27:46 · 1604 阅读 · 0 评论 -
array_keys
array_keys(PHP 4, PHP 5)array_keys — 返回数组中所有的键名主要是需要注意第二个和第三个参数的用法说明array array_keys ( array$input [, mixed$search_value [, bool$strict ]] )array_keys() 返回input 数组中的数字或原创 2013-03-11 22:31:18 · 893 阅读 · 0 评论 -
PHP 安装包 VC9 VC6 区别是什么
最近在PHP官网上看到又有新版的PHP下载了,于是上去找找 For Windows的版本,可是一看,一共给了四个版本,VC9 x86 Non Thread Safe、VC9 x86 Thread Safe、VC6 x86 Non Thread Safe、VC6 x86 Thread Safe,这让我这个菜鸟头疼啊,还好PHP官网提供下载的地方左边有个英文choose我看懂了,我估摸着就是如何来转载 2012-07-17 00:11:54 · 688 阅读 · 0 评论 -
几个PHP数组函数的理解
array_reduce(PHP 4 >= 4.0.5, PHP 5)array_reduce —用回调函数迭代地将数组简化为单一的值说明mixedarray_reduce (array $input ,callback$function [, int$initial ] )array_reduce() 将回调函数function 迭代地作用到i原创 2012-07-02 20:20:22 · 1064 阅读 · 0 评论 -
防盗链
之前一个同事问我,如何防图片盗链其实放盗链和防止站外post的原理差不多,需要用到HTTP协议中的一个头域名Referer头域Referer头域允许客户端指定请求uri的源资源地址,这可以允许服务器生成回退链表,可用来登陆、优化cache等。它也允许废除的或错误的连接由于维护的目的被追踪。如果请求的uri没有自己的uri地址,Referer不能被发送。原创 2012-07-11 19:43:39 · 576 阅读 · 0 评论 -
神奇的Fastcgi_Finish_Request
当PHP运行在FastCGI模式时,PHP FPM提供了一个名为fastcgi_finish_request的方法。按照文档上的说法,此方法可以提高请求的处理速度,如果有些处理可以在页面生成完后再进行,就可以使用这个方法。听起来可能有些茫然,我们通过几个例子来说明一下:<?phpecho '例子:';fastcgi_finish_request();echo 'To转载 2012-06-28 08:55:06 · 834 阅读 · 0 评论 -
PHP autoload机制详解
1、autoload机制概述 在 使用PHP的OO模式开发系统时,通常大家习惯上将每个类的实现都存放在一个单独的文件里,这样会很容易实现对类进行复用,同时将来维护时也很便利,这也 是OO设计的基本思想之一。在PHP5之前,如果需要使用一个类,只需要直接使用include/require将其包含进来即可。下面是一个实际的例 子:/* Person.class.php */<?php原创 2012-06-26 20:16:52 · 560 阅读 · 0 评论 -
PHP 合并数组
php的合并数组有两种方法:第一种:array_merge第二种:求和,即$array1 + $array2这两种合并方法有什么区别那,通过例子来看一下:<?php$array1 = array("color" => "red", 2, 4);$array2 = array("a", "b", "color" => "green", "shape" => "trapez原创 2012-05-24 14:58:35 · 3358 阅读 · 1 评论 -
PHP获取http头信息
获取http请求的头信息。PHP手册提供了现成的函数:getallheaders(PHP 4, PHP 5)getallheaders — Fetch all HTTP request headers说明array getallheaders ( void )Fetches all HTTP headers from the current原创 2012-06-13 17:33:42 · 26688 阅读 · 0 评论 -
PHP中的$_SERVER 与 getenv
getenv:取得系统中的环境变量,格式为name=value。$_SERVER:服务器超级全局变量。例:getenv('REMOTE_ADDR');$_SERVER['REMOTE_ADDR'];都可以获取客户端的IP。区别就是:getenv 不支持ISS的ISAPI方式运行的php。这是网上找的说明,不知道是否可以这样理解,在任何条件下,都可以用$_SERV原创 2013-04-25 17:05:04 · 625 阅读 · 0 评论 -
二分查找
<?phpfunction binary_search($array, $searchValue){ $lowKey = 0; $highKey = count($array) - 1; $searchTimes = 0; $get = false; while(!$get) { ++$searchTimes; if ($searchValue $array[原创 2013-07-23 16:38:03 · 634 阅读 · 0 评论 -
PHP封装ssl非对称加密算法
<?phpclass Rsa{ /** * private key */ private $_privKey; /** * public key */ private $_pubKey; /** * the keys saving path */ private $_keyPath; /** * the construtor,the原创 2014-08-25 14:28:11 · 2253 阅读 · 1 评论 -
function _getIp
REMOTE_ADDR 是你的客户端跟你的服务器“握手”时候的IP。如果使用了“匿名代理”,REMOTE_ADDR将显示代理服务器的IP。HTTP_CLIENT_IP 是代理服务器发送的HTTP头。如果是“超级匿名代理”,则返回none值。同样,REMOTE_ADDR也会被替换为这个代理服务器的IP。$_SERVER['REMOTE_ADDR']; //访问端(有可能是用户,有可能是代理的原创 2013-04-25 17:08:37 · 833 阅读 · 0 评论 -
堆排序
堆的定义n个关键字序列Kl,K2,…,Kn称为(Heap),当且仅当该序列满足如下性质(简称为堆性质):ki=号。//k(i)相当于二叉树的非叶子结点,K(2i)则是左子节点,k(2i+1)是右子节点若将此序列所存储的向量R[1..n]看做是一棵完全二叉树的存储结构,则堆实质上是满足如下性质的完全二叉树:树中任一非叶子结点的关键字均不大于(或不小于)其左右孩子(若存在)结点的关键字原创 2014-07-07 20:08:42 · 541 阅读 · 0 评论 -
PHP输出缓冲(二)-- 缓冲配置
PHP输出缓冲(二)-- 缓冲配置原创 2014-05-09 15:57:50 · 1358 阅读 · 0 评论 -
PHP输出缓冲(三)-- 相关缓冲函数
PHP输出缓冲(三)-- 相关缓冲函数分析原创 2014-05-09 15:58:26 · 1071 阅读 · 0 评论 -
PHP输出缓冲(一)-- 缓冲区原理
PHP输出缓冲(一)-- 缓冲区原理原创 2014-05-09 15:57:16 · 5942 阅读 · 0 评论 -
PHP数组数字键值的最大值问题
php的数组,如果是以一个数值型(is_numeric)作为key的时候,原创 2014-05-08 11:41:42 · 4067 阅读 · 1 评论 -
抽象类、接口碎碎念
抽象类(abstract)抽象类不能实例化抽象类是通过 abstract class className 来定义的任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的。被定义为抽象的方法只是声明了其调用方式(参数),不能定义其具体的功能实现。继承一个抽象类的时候,子类必须定义父类中的所有抽象方法;另外,这些方法的访问控制必须和父类中一样(或者更为宽松原创 2014-05-04 16:37:46 · 644 阅读 · 0 评论 -
PHP 对象和引用
一直以为认为的“PHP5 对象默认是引用传递的”,这个想法貌似是budui原创 2014-05-04 17:45:39 · 806 阅读 · 0 评论 -
display_errors
PHP控制是否输出错误原创 2014-04-14 16:34:37 · 953 阅读 · 0 评论 -
ngnix控制IP访问
位于nginx.conf中allow:用于访问的IP规则deny:jin原创 2014-04-14 16:38:16 · 679 阅读 · 0 评论 -
php的两个memcached扩展:memcache和memcached(二)
现在在php中memcached用的很多,以前一直使用的是php的memcache扩展,最近开始改用了php的memcached扩展(注意这里memcache和memcached扩展的名字就相差了一个d)。或许在google或者百度搜索php的memcached扩展的时候,很多结果是memcache.dll或者memcache.so,很少的结果是memcached.so,windows下面甚至没有转载 2012-05-22 20:10:32 · 13418 阅读 · 0 评论 -
PHP 的两个 memcache 扩展:memcache 和 memcached(一)
从手册上明显可以看到这两个扩展:http://php.net/manual/en/book.memcache.phphttp://php.net/manual/en/book.memcached.php在Q群里问了下,没有人能分辨出它们的差别,甚至有人怀疑我说的 Memcached 是 Memcached 服务器(守护进程)。从手册上看,memcached 会比 m转载 2012-05-22 20:07:51 · 1898 阅读 · 0 评论 -
PHP学习之信号
通过几个简单的例子,来帮助理解php的信号系统singnal_fun.php是公用函数库,代码如下<?php// 设置信号处理函数function signal_handler($signo) { switch ($signo) { case SIGTERM: // 处理SIGTERM信号 tlog("Caught原创 2012-04-13 14:45:20 · 5427 阅读 · 2 评论 -
php控制结构语句declare中的tick的详解[整理版]
先看看手册是怎么说的:declare 结构用来设定一段代码的执行指令。declare 的语法和其它流程控制结构相似:1declare (directive)2 statementdirective 部分允许设定 declare 代码段的行为。目前只认识两个指转载 2012-04-13 14:10:21 · 8785 阅读 · 0 评论 -
PHP扩展pcntl(进程控制以及信号处理)中文文档
转自 PHP扩展pcntl(进程控制以及信号处理)中文文档PHP 扩展 pcntl 实现 ” 多线程 ”( 进程 )pcntl 与 ticksticks 是通过 declare(ticks = n) {statement} 语法定义的 , declare 语法目前只能接受 ticks, 他定义的 ticks = n 的意义是当 declare 指定的语句转载 2012-04-12 17:42:00 · 1012 阅读 · 0 评论 -
如何设置一个严格30分钟过期的Session
作者: Laruence本文地址: http://www.laruence.com/2011/03/29/1949.html转载请注明出处今天在我的微博(Laruence)上发出一个问题:我在面试的时候, 经常会问一个问题: “如何设置一个30分钟过期的Session?”, 大家不要觉得看似简单, 这里面包含的知识挺多, 特别适合考察基本功是否扎实, 谁来回答试试?转载 2012-04-10 16:27:12 · 430 阅读 · 0 评论 -
深入理解PHP原理之Opcodes
作者: Laruence本文地址: http://www.laruence.com/2008/06/18/221.html转载请注明出处最近要给Yahoo的同事们做一个关于PHP和Apache处理请求的内部机制的讲座,刚好写了些关于Opcodes的文字,就发上来了,这个文章基于 Sara Golemon大师的《Understanding OPcode》Opcode是一种PH转载 2012-04-11 11:39:34 · 416 阅读 · 0 评论 -
一个简单的笔试题
题目:要求输出1121123211234321解法1:常规解法,没什么好说的<?phpfunction output($n) { $temp = ''; for ($i = 1; $i <= $n; $i++) { $temp .= $i; if ($i == 1) { echo $i . '';原创 2012-04-05 16:21:55 · 472 阅读 · 0 评论 -
php垃圾回收之变量
原文地址: http://derickrethans.nl/collecting-garbage-phps-take-on-variables.html关于PHP垃圾回收机制(Garbage Collection . GC) ,原作者写了三篇文章。这是第一篇,主要讲解PHP如何处理变量。第二篇和第三篇主要讲常用的GC方法,以及GC是如何实现的,以及一些其它的说明和评测。PHP版转载 2012-04-05 15:02:31 · 1692 阅读 · 0 评论 -
PHP session回收机制
由于PHP的工作机制,它并没有一个daemon线程,来定时地扫描session信息并判断其是否失效。当一个有效请求发生时,PHP会根据全局变量 session.gc_probability/session.gc_divisor(同样可以通过php.ini或者ini_set()函数来修改) 的值,来决定是否启动一个GC(Garbage Collector)。默认情况下,session.gc_prob转载 2012-04-05 14:58:55 · 620 阅读 · 0 评论 -
PHP 代码规范
一、概述1.1. 标准化的重要性 标准化问题在某些方面上让每个人头痛,让人人都觉得大家处于同样的境地。这有助于让这些建议在许多的项目中不断演进,许多公司花费了许多星期逐子字逐句的进行争论。标准化不是特殊的个人风格,它对本地改良是完全开放的。1.2. 优点 当一个项目尝试着遵守公用的标准时,会有以下好处: • 程序员可以了解任何代码,弄清程序的状况 • 新人可以很快转载 2012-03-15 11:20:55 · 1720 阅读 · 0 评论 -
PHP中的一些关键字(const static define 等等)
用php这么久了,惭愧的是,原来自己还一直没有搞清楚几个关键字。<?php/** * 测试用例 * /echo HAHA;class test { public $name2 = 'name2'; static $name = 'name'; const CHARSET = "中国"; public function say_hello(原创 2012-03-13 11:57:20 · 1968 阅读 · 0 评论 -
file_get_content 模拟POST数据
利用file_get_content来模拟POST数据原创 2011-03-06 00:55:00 · 2581 阅读 · 0 评论 -
PHP Memcached客户端官方文档翻译
介绍memcached是一个高性能分布式内存对象缓存系统, 通常用于在动态web应用上减缓数据库加载压力以提高速度.这个扩展使用libmemcached库提供的api和memcached服务端进行交互, 它也同样提供了一个session处理器(memcached)关于libmemcached的信息参见http://tangent.org/552/libmemcached.html失效时间转载 2012-04-13 13:38:22 · 946 阅读 · 0 评论