
PHP
文章平均质量分 59
ajaxuser
这个作者很懒,什么都没留下…
展开
-
PHP格式化输出
<br />int printf ( string $format [, mixed $args [, mixed $... ]] )string sprintf ( string $format [, mixed $args [, mixed $... ]] )int vprintf ( string $format , array $args )string vsprintf ( string $format , array $args )<br />prin翻译 2010-11-15 19:28:00 · 1962 阅读 · 0 评论 -
深入理解ob_flush和flush的区别
ob_flush/flush在手册中的描述, 都是刷新输出缓冲区, 并且还需要配套使用, 所以会导致很多人迷惑…其实, 他们俩的操作对象不同, 有些情况下, flush根本不做什么事情..ob_*系列函数, 是操作PHP本身的输出缓冲区. 所以, ob_flush是刷新PHP自身的缓冲区.而flush, 严格来讲, 这个只有在PHP做为apache的Module(handler或者转载 2012-04-13 16:33:49 · 597 阅读 · 0 评论 -
如何设置一个严格30分钟过期的Session
第一种回答那么, 最常见的一种回答是: 设置Session的过期时间, 也就是session.gc_maxlifetime, 这种回答是不正确的, 原因如下:1. 首先, 这个PHP是用一定的概率来运行session的gc的, 也就是session.gc_probability和session.gc_divisor(介绍参看 深入理解PHP原理之Session Gc的一个小概率Notice转载 2012-04-13 15:51:45 · 499 阅读 · 0 评论 -
php合并数组array_merge()与+的区别
$arr1 = array('a', 'name'=>'test1', 1 );$arr2 = array('a', 1, 'name'=>'test2');var_dump(array_merge($arr1, $arr2));/*array(5) { [0]=> string(1) "a" ["name"]=> string(5) "test2" [1]=> i原创 2012-07-19 22:15:35 · 518 阅读 · 0 评论 -
php通过pcntl扩展用多进程模拟多线程
php本身是不支持多线程的,但是可以利用多进程模拟多线程。function test($thread, $num) { $i = 1; while($i echo $thread.":".$i."\n"; $i++; } }function start_thread($thread, $num) {原创 2012-07-30 19:17:20 · 848 阅读 · 0 评论 -
PHP5.3新特性
1.命名空间namespace Test;class Demo { public static function test() { echo __CLASS__; } }Demo::test(); //输出Test\Demo?>2.延迟静态绑定//在PHP5中,我们可以在类中通过self关键字或者__CLASS__来判原创 2010-12-20 22:09:00 · 471 阅读 · 0 评论 -
php实现常用排序算法和查找算法
<?php/** * 冒泡排序 * 冒泡排序就是依次比较相邻的两个数,根据采用的排序规则决定是否交换两个数的位置。 * 在此以升序为例来进行讲解。 * 第一轮:首先比较第一个数和第二个数,将小数放前,大数放后,然后比较第二个数和第三个数, * 将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。到第一轮结束 * 的时候,已经成功地将最大的数放到了最后。 * 第原创 2012-09-02 15:34:42 · 882 阅读 · 0 评论 -
PHP实现单例模式
<?phpclass Test{ //保存实例在此属性中,$_instance必须声明为静态的私有变量 private static $_instance; //构造函数必须声明为private,防止外部new private function __construct() { } //将__clone方法设置为私原创 2013-04-24 10:45:15 · 757 阅读 · 0 评论 -
PHP对象的深复制与浅复制
<?phpclass Test1 { public $num1 = 0; //包含的对象 public $obj2; public function __construct() { $this->obj2 = new Test2; }}class Test2 { public $num2 = 0;}$obj1 = ne原创 2013-04-24 15:09:26 · 4099 阅读 · 0 评论 -
PHP foreach与引用赋值
<?php$arr = array('a', 'b', 'c');foreach($arr as &$v) {}foreach($arr as $v) {}var_dump($arr);/*结果为:array(3) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> &string(1) "b"}*///第一原创 2013-04-24 16:07:32 · 4603 阅读 · 2 评论 -
Ubuntu下搭建PHP+Nginx环境
1.安装nginxsudo apt-get install nginx安装之后的文件结构大致为:* 所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经安排在了/etc/nginx/sites-available下* 日志放在了/var/log/nginx下* 并已经在/etc/init.d/下创建了启动脚本nginx* 默认的虚拟主机的目录设置在了/var/原创 2011-06-27 18:31:00 · 6724 阅读 · 0 评论 -
Howto: install phplua extension for PHP
Lua is an embeddable scripting language. If you are trying to embed it in PHP follow this instructions that may help you:$ sudo apt-get install liblua5.1-0-dev $ git clone git://repo.or.cz/phplu转载 2011-12-04 00:39:03 · 1599 阅读 · 0 评论 -
error_reporting
int error_reporting([int $level])设置php报错级别并返回<?php// 禁用错误报告error_reporting(0);// 用 | 可以报告列出的所有错误级别error_reporting(E_ERROR | E_WARNING | E_PARSE);// 报告所有错误除了E_NOTICEerror_reporting(E_ALL ^翻译 2010-10-08 10:49:00 · 448 阅读 · 0 评论 -
PHP Socket编程
PHP使用Berkley的socket库来创建它的连接。socket是一个数据结构。使用这个socket数据结构去开始一个客户端和服务器之间的会话。这个服务器是一直在监听准备产生一个新的会话。当一个客户端连接服务器,它就打开服务器正在进行监听的一个端口进行会话。这时,服务器端接受客户端的连接请求,那么就进行一次循环。现在这个客户端就能够发送信息到服务器,服务器也能发送信息给客户端。产生一个Socket,需要三个变量:一个协议、一个socket类型和一个公共协议类型。产生一个socket有三种协议供选原创 2010-11-25 09:11:00 · 567 阅读 · 0 评论 -
PHP Reflection
<br /><?php /*PHP5 comes with a complete reflection API that adds the ability to reverse-engineer classes, interfaces, functions, methods and extensions. Additionally, the reflection API offers ways to retrieve doc comments for functions, classes and翻译 2010-11-24 18:50:00 · 452 阅读 · 0 评论 -
PHP CLI文件句柄常量STDIN/STDOUT/STDERR
#!/usr/bin/env php//PHP CLI中,有三个系统常量,分别是STDIN、STDOUT、STDERR,代表文件句柄。/** *@ 标准输入 *@ php://stdin & STDIN *@ STDIN是一个文件句柄,等同于fopen("php://stdin", r) */$fh = fopen(php://stdin, r);原创 2011-06-13 09:01:00 · 3419 阅读 · 0 评论 -
PHP SOAP实现Web Services
server.php//声明一个函数getMessage(),并返回它的值function getMessage($str=''){return $str;}/*实例化一个SoapServer对象,并将getMessage函数注册成为其方法其中,$wsdl为SOAP使用得wsdl文件,wsdl是描述Web Services的一种标准格式,若将$wsdl设置为null,则表示不使用wsdl模式。原创 2010-10-29 19:16:00 · 602 阅读 · 0 评论 -
在PHP中执行系统外部命令
在PHP中,可以调用外部命令来解决一些问题。基本的函数如下:void passthru ( string $command [, int &$return_var ] ) 只调用命令,不返回任何结果,但把命令的运行结果原样地直接输出到标准输出设备上。第二个参数是可选的,用来得到命令执行后的状态码。string system (string $command原创 2010-08-31 19:33:00 · 336 阅读 · 0 评论 -
php常量DIRECTORY_SEPARATOR和PATH_SEPARATOR
DIRECTORY_SEPARATOR和PATH_SEPARATOR这两个常量能够解决不同平台的兼容性问题。DIRECTORY_SEPARATOR 路径分隔符。 windows下为‘/’,linux 下为‘/’。PATH_SEPARATOR include_path多个路径分隔符。windows下为‘;’,linux下为‘:’。原创 2010-10-08 13:55:00 · 822 阅读 · 0 评论 -
PHP在Apache下的工作方式
php在apache下一般有三种工作方式:CGI,Apache模块,FastCGI在CGI模式下,如果用户请求一个php文件,web服务器就会调用php解析器去解析这个文件,然后把结果返回给客户端。在apache模块模式下,将php解析器作为了apache的一个模块,这样php解析器就与web服务器一起运行。在fastcgi模式下,web服务器不会像cgi那样每次都启动一个新的进程,而原创 2010-09-18 12:52:00 · 986 阅读 · 0 评论 -
php opcode
Opcode是一种PHP脚本编译后的中间语言,就像Java的ByteCode,或者.NET的MSL,举个例子,比如你写下了如下的PHP代码:echo "Hello World";$a = 1 + 1;echo $a;?>PHP执行这段代码会经过如下4个步骤(确切的来说,应该是PHP的语言引擎Zend)Scanning(Lexing), 将PHP代码转换为语言片段(Tok转载 2010-10-08 11:36:00 · 503 阅读 · 0 评论 -
php include_path
php.ini 中的include_path可以设置一组目录,在用include、require包含文件时只用写相对路径就可以了。string set_include_path ( string $new_include_path )Sets the include_path configuration option for the duration of the script. st原创 2010-10-08 13:47:00 · 559 阅读 · 0 评论 -
Web Services简介
SOAP ,WSDL 和UDDI 是Web Services框架的核心技术(1)SOAP 是Web services 的通信协议。SOAP是一种简单的、轻量级的基于XML 的机制,用于在网络应用程序之间进行结构化数据交换。 SOAP包括三部分:一个定义描述消息内容的框架的信封,一组表示应用程序定义的数据类型实例的编码规则,以及表示远程过程调用和响应的约定。 (2)WSDL表示WEB转载 2010-10-29 19:40:00 · 365 阅读 · 0 评论 -
Ubuntu下搭建Lighttpd+PHP+MySQL环境
1》安装MySQL sudo apt-get install mysql-server mysql-client2》安装lighttpd sudo apt-get install lighttpd3》安装php及php扩展 sudo apt-get install php5 php5-cgi php5-mysql4》安装phpmyadmin sudo apt-get i原创 2011-05-29 13:36:00 · 713 阅读 · 0 评论