收藏本站

url_rewrite 规则

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteBase /


#目录格式规则
RewriteRule ^post/([0-9]+)$ index\.php\?post=$1
RewriteRule ^record/([0-9]+)$ index\.php\?record=$1
RewriteRule ^tag/(.+)$ index\.php\?tag=$1
R...

阅读全文>>

Windows7 64 位系统安装Apache2.4 PHP5.5

Apache2.4 目前apache  官网已经不提供 windows 版本。

现在大部分一键安装包多是32位的,并不支持64位,直接在64位的系统上使用会报错的,

说说windows 64位系统如何建立Apache+PHP环境的!


我这里演示用的windows7 64位简体中文版,apache,php用的是64位的版本。建立的是本地环境,所以我用的是默认设置。


1、下载PHP、Apache和Mysql软件以及VC库。

下面分别是PHP、Apache和Mysql的官网地址。

PHP:http://windows.php.net...


阅读全文>>

php fsockopen 302 跳转的问题

使用fsockopen 打开一个链接时,如果打开的链接返回一个302的重定向到登陆成功页面麻烦就来了,COOKIE可能没问题,但SESSION会导致产生一个新的会话,马上就会失效还是需要登陆的。

解决办法超级简单,把它的返回头一字不落的header出去。

$fp = fsockopen($urlInfo['host'], $port, $errno, $errstr, $timeout) or die('登陆失败:' + $errstr);
$out .= "POST {$urlInfo['path']} HTTP/1.0\r\n";
$...

阅读全文>>

php $_FILES 使用详解

文件上传表单

<form enctype="multipart/form-data" action="URL" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="1000">
<input name="myFile" type="file">
<input type="submit" value="上传文件">
</form>


$_FILES数组内容如下: ...

阅读全文>>

php5.4+apache2.4 安装配置

      想使用apache 最新版,结果发现没有windows 版。只能自己编译或找别人编译好的。这里是使用别人编译好的。首先去下载PHP、Apache和Mysql的最新版本。
PHP5.4.8版本下载地址:http://windows.php.net/download/
Apache2.4.3版本下载地址:http://www.apachelounge.com/download/

第一部分:安装Apache2.4.3

1.下载回来的是解压文件,解压好放到要安装的位置。(我这里以D:\Acpache24为例)

2....

阅读全文>>

php 性能优化

用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。

1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。

2、$row[’id’] 的速度是$row[id]的7倍。

3、echo 比 print 快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如echo $str1,$str2。

4、在执行...

阅读全文>>

php 为什么需要单例模式

众所周知,php是解释型语言。在其解释一个页面请求过后,所有资源都会从内存中清除。似乎也就没有使用单例的必要。


单例模式的要点有三个:

一是某个类只能有一个实例;

二是它必须自行创建这个实例;

三是它必须自行向整个系统提供这个实例。

下面我们讨论下为什么要使用PHP单例模式?

多数人都是从单例模式的字面上的意思来理解它的用途, 认为这是对系统资源的节省, 可以避免重复实例化, 是一种"计划生育".   而PHP每次执行完页面都是会从内存中清理掉所有的资源. 因而PHP中的单例实际每次运行都是需要重新实例化的, 这样就失去了单例重复实例化的意义了. 单...

阅读全文>>

php 单列模式

单列模式是设计模式中常见的模式之一。

php 中单列模式实现方式有以下两种:

方式一、

<?php
class Example
{
    // 保存类实例在此属性中
    private static $instance;
    
       // 构造方法声明为private,防止直接创建对象
    private function __construct() 
    {
        echo 'I am constructed';
    }

    // singleton 方法
    public st...

阅读全文>>

php 魔术方法合集【二】

publicvoid__set ( string$name , mixed$value )
publicmixed__get ( string$name )
publicbool__isset ( string$name )
publicvoid__unset ( string$name )

在给未定义的变量赋值时,__set() 会被调用。

读取未定义的变量的值时,__get() 会被调用。

当对未定义的变量调用 isset()empty()时,__isset() 会被调用。

当对未定义的变量调用 unset()时,__unset() 会被调用。 ...

阅读全文>>

php 魔术方法合集【一】

PHP把所有以__(两个下划线)开头的类方法当成魔术方法。所以当你定义类方法时,除了上述魔术方法,建议不要以 __为前缀。

PHP中被称为"魔术方法"(Magic methods) 有

__construct(), __destruct(), __call(), __callStatic(), __get(), __set(), __isset(), __unset(), __sleep(), __wakeup(), __toString(), __invoke(), __set_state()__clone()


publicarray__sleep ( void...

阅读全文>>