PHP相关

PHP是我现在用的最多的编程语言,对于我而言PHP一直是最完美的WEB编程语言!
  • 解决PHP Session 报错failed: No space left on device

  • 遇到如下错误:
    Warning: session_start(): open(/var/lib/php/session/sess_3b1jm5kqehk9bg68f9ljt6n3k6, O_RDWR) failed: No space left on device (28) in /var/www/SITES/ktapp/index.php on line 2 controllerlibwidgetdbimage Warning: Unknown: open(/var/lib/php/session/sess_3b1jm5kqehk9bg68f9ljt6n3k6, O_RDWR...
  • 阅读全文 >>
  • 适配类的缺点

  • 开发APIs 的时候遇到一个问题,就是一个中间件隔离的问题,首先想到了通过适配器来解决。

    子类通过集成适配器来获得特定功能,适配器通过系统信息,进行相关底层的中间件的选择。

    但是当适配器组件加到系统后发现很多测试无法通过,最后究其原因就是,如果被适配的接口继承线上有父类,很可能父类一样需要适配,否则可能造成问题。

    这样引申的问题就是,必须对被适配的对象继承线足够的清晰。当继承线比较长的时候可能要适配很多的方法。

    另外使用适配的构造有些奇怪,其构造填充的是中间件的相关信息,当然如果结构设计的好这个是可以...
  • 阅读全文 >>
  • PHP 读取数据流

  • 如果面对Java 过来的接口,很多情况下或者大多情况下Java 一般使用数据流来进行数据传输,这时候由于请求是“Content-Type是text/xml”PHP 的 $_POST 可能无法收到数据,这时候就要用到 php://input 来进行读取。
    写了一个小例子,很简单,一看就懂:
    <?php
    #################### 最基本最简单的演示 linhaiecho 'POST 表单';echo '<hr/>';print_r($_POST);echo '<hr/>';echo '数据流';echo '...
  • 阅读全文 >>
  • Jquery 多次异步提交数据时如何保证返回结果为最新的一次

  • 一直以来JS 是我的软类,不过自己还是给JKGLib 配置了一个ajax 的Widget,这个Widget 可以应用到任何框架,JKG 框架,Yii …… 只要该框架引入JKG 的类库API。

    该Widget 的首次应用获得很大成功,让异步处理变得异常简单和精确。最近开发一个高可用的数据库项目,由于页面操作异常复杂,所以为了查分简化操作,有把这个Widget 引入进来,不过发现了一个问题……

    其实该问题以前就有,不过这次更加明显为什么呢?因为最近不是网络那个查得紧反暴力嘛你懂,网络慢,然后这个问题就暴露了,由于Ajax 使用的都是异步请求,这时...
  • 阅读全文 >>
  • Yii 个必备常用的扩展,模块(转)

  • 转自:http://www.yiiframework.com/wiki/180/yii8/

    1. Ajax多文件上传组件(swfupload).

    直达地址: http://www.yiiframework.com/extension/swfupload

    Yii本身提供了 CUploadedFile(单文件上传) 和 CMultiFileUpload(多文件上传) widget组件,但是如里要

    打造高性能的基于Ajax的多文件上传,就目前我所理解的,这个是一个比较好的解决方案,上传几个美女作为演式.
  • 阅读全文 >>
  • PHP 命名空间对auto_loader 的使用变化

  • PHP 命名空间和auto_loader 的使用变化

    基本上 spl_autoload_register() 已经代替了 __autoload() 所以就不谈 __autoload 了。

    ###################### 讨论如下代码:

    class CAutoloader {
        public function __construct() {
            spl_autoload_re...
  • 阅读全文 >>
  • PHP 的命名空间-定义-使用

  • PHP 的命名空间,定义上:

    namespace lib1{ //lib1 的A
        class TheA {
            public static function WhoAmI(){
                echo 'Lib 1 ,TheA';
         ...
  • 阅读全文 >>
  • spl_autoload_register 使用时的注意事项

  • 一般情况下 spl_autoload_register 中对类的引用需要通过 include 引用,而非require 因为如果是require 可以造成和其他 spl_autoload_register 的组件相互冲突,这是不成文的约定。
  • 阅读全文 >>
  • PHP 事件

  • 一个基于PHP的事件机制 <?php //EventUtils: final class EventArgs { } interface EventHandler { public function Invoke($Sender, EventArgs $E); } class Event { private $EventHandlerList = array (); public function AddEventHandler(EventHandler $EventHandler) { $this->EventHandl...
  • 阅读全文 >>
  • pear 的安装及使用

  • CentOS 6 安装pear:
    # yum -y install php-pear
    # pear help
    # pear install Mail (安装常用的Mail 函数,文档参加http://pear.php.net/manual/en/package.mail.mail.factory.php)
  • 阅读全文 >>
  • Yii 的日志类使用和CVarDumper

  • 适用场景,一般来讲我们调试PHP 可能直接 echo ,print_r 等就够了。但是很多时候这样做会影响到页面布局甚至程序正常运行,比如调试ajax 的时候。这时候将程序输出到文件显得格外有用。Yii 作为一款完善的程序框架提供了这些方面的功能。

    首先print_r 等导出函数,一般来说是直接输出的,Yii 中可以通过CVarDumper 类来代替,例如:CVarDumper::dumpAsString($_POST) ,详细使用参考Yii 官方文档。这个不多说了。

    接下来看看Yii 日志输出的配置,首先在conf/main.php 中找到l...
  • 阅读全文 >>
  • Yii 的异步From 验证为什么总是失败?

  • 客户端异步请求该是:'enableAjaxValidation'=>true, 而非 'enableClientValidation'=>true

    举例:

     <?php $form=$this->beginWidget('CActiveForm', array(
        'id'=>'SATextLinkForm-form',
        'enableAjaxValidation'=>true,
     &...
  • 阅读全文 >>
  • CentOS 5.x 升级 PHP5.3 的解决办法

  • CentOS 5.x 升级 PHP5.3 的解决办法 [root@new ~] rpm -Uvh http://repo.webtatic.com/yum/centos/5/latest.rpm [root@new ~] yum --enablerepo=webtatic install php
  • 阅读全文 >>
  • 如何安装 PHP 的JSON

  • 发现 json_encode 和 json_decode 函数无法使用。所以开始安装JSON

    # yum -y install php-devel php-pear gcc make
    # pecl install json
    # echo "extension=json.so" > /etc/php.d/json.ini
    # service httpd restart

    重试验,OK
  • 阅读全文 >>
  • Yii 常用

  • 在view中得到当前controller的ID方法 :Yii::app()->getController()->id;      
     在view中得到当前action的ID方法 :Yii::app()->getController()->getAction()->id;     
     yii获取ip地址 :Yii::app()->request->userHostAddress;   
    &n...
  • 阅读全文 >>
  • Yii CGridView 使用的典型示例

  • Yii 中 zii.widgets.grid.CGridView 的典型示例:

    <?php $this->widget('zii.widgets.grid.CGridView', array(
        'id'=>'tgiftcard-grid',
        'dataProvider'=>$model->search(),
        'filter'=>$model,
       ...
  • 阅读全文 >>
  • Yii 中查询排序的2个方法

  • Yii 排序的话,第一个可以在约束判定对象中设置

    举例:

    $criteria=new CDbCriteria;
    $criteria->order='creationdate DESC'; //设置排序

    第二中,可以在数据提供对象上设置

    举例:

    new CActiveDataProvider($this, array(
                'criteria'=&...
  • 阅读全文 >>
  • PHP HTML 混合写法备忘

  • PHP中那些语法有替代语法?
    流程控制(包括if,while,forforeach,switch)这几个语句有替代语法。

    替代语法的基本形式:
    左花括号({)换成冒号(:),把右花括号(})分别换成 endif;,endwhile;,endfor;,endforeach; 以及 endswitch;

    举个例子吧:
    <?php if ($a<0): ?>
    是负数拉
    <?php endif; ?>
    上面的语句等同于
    <?php if ($a&l...
  • 阅读全文 >>
  • PHP 中__get 方法的作用

  • 实际上通过 __get($name) 方法可以封装私有属性,可以让属性变为不可读,也可以将返回对象类型进行统一。

    虽然非常有用但是我以前并未做考虑。
  • 阅读全文 >>
  • 短链接生成工具 短网址在线生成工具

  • 一个好用的在线批量短网址生成工具:
    短网址用来规范化URL 连接,比较常见的是广告连接,因为很多原因广告连接中的参数比较多,为了达到推广目的
  • 阅读全文 >>
  • 好吧我承认我太固执,所以我要学习使用一个框架CodeIgniter

  • 我很固执我承认,所以做开发这么久,我始终不会修改那些公开代码,曾经固执的我认为那些写得都不好,我也从来不用第三方框架写代码,一直在大大小小的工程项目中推行我自己写得框架,可能有些自私吧,但更多的使用自己的框架更有握感,可以良好的控制项目的大小和进度,所以每次我都能顺利的保证项目成功,好吧我承认我必须学习新的框架来拓展思路,那么现在就把自己当成一个初学者,先用 CodeIgniter 试试看喽。 一切从零开始,相信我用完这个后会总结出更多更好的经验。 有错要承认,我承认我之前的固执导致我现在仍然没有赚到钱,所以要改要开眼界,很多人做了,做得比我好,必须承认,但是我没有认输。 下面吧C...
  • 阅读全文 >>
  • 设置PHP的时区,更改为中国-上海

  • 设置PHP的时区:

    # vi php.ini

    搜索timezone 并更改为
    date.timezone = Asia/Shanghai

    如果不知道php.ini 在那里,请phpinfo();输出一下即可
  • 阅读全文 >>
  • PHP5.2和5.3的细微差别

  • 实际上这存在一个潜在风险,开发时的环境是PHP5.3 而最终部署的服务器是PHP5.2 之后发现了两个问题。

    第一:
    usort() 函数出错,其中代码中有这么写的(类中) usort($arr,'self::mySort'); 这个在php5.3 中是允许的,可以运行,而到php5.2 中则出错了。

    解决办法:统一改成,内部方法:例如:
    $func=create_function('$var1,$var2', '
        if($var1->num == $var2->n...
  • 阅读全文 >>
  • 批量查询PR 在线工具

  • 查询PR值是很多站长朋友经常需要的工作,不过我发现国内的很多PR查询工具要么不支持批量查询,要么查询速度特别慢,可能是因为别人的站查询压力大的原因吧,本站的PR查询工具本来是给自己用着方便而已,不过本着共享奉献的精神把此工具进行共享。

    地址:批量查询PR
  • 阅读全文 >>
  • PHP 时间加法备忘

  • 备忘备忘:以当前时间为例
    strtotime(date('Y-m-d H:i:s') . '+30 day');

    参数可以是:

    1.月,日英文名及其常用缩写清单:
    january,february,march,april,may,june,july,august,september,sept,october,november,december,
    sunday,monday,tuesday,tues,wednesday,wednes,thursday,thur,thurs,friday,saturday
  • 阅读全文 >>
  • PHP生成二维码的方法

  • PHP生成二维码的方法:

    http://phpqrcode.sourceforge.net/index.php#demo

    类库下载地址:

    http://sourceforge.net/projects/phpqrcode/files/releases/phpqrcode-2010100721_1.1.4.zip/download
  • 阅读全文 >>
  • 安装PHP MyAdmin

  • 一直直接输入SQL语句,经理要用PHP MyAdmin 看东西。
    那么如何安装PHP MyAdmin呢?

    # cd 到网页目录下
    # wget -c http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.5.1/phpMyAdmin-3.5.1-all-languages.tar.gz?r=http%3A%2F%2Fwww.phpmyadmin.net%2Fhome_page%2Fdownloads.php&ts=1341371922&use_mirror...
  • 阅读全文 >>
  • 安装 PDO MySQL Of PHP 扩展

  • 安装PDO MYSQL

    # wget -c http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
    # cd PDO_MYSQL-1.0.2
    # /usr/local/php/bin/phpize
    # /configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql

    (一定要加上 --with-pdo-mysql 否则可能找...
  • 阅读全文 >>
  • PHP5.3 Deprecated: Function ereg()

  • PHP5.3遇到的问题,开始出现:Deprecated: Function ereg() 这种不推荐提示,比较好的解决办法是,替换ereg函数为preg_match

    或者,如果是类库出错的话,暂时可以屏蔽错误:
    error_reporting=E_ALL & ~E_NOTICE & ~E_DEPRECATED
  • 阅读全文 >>
  • PHP5.3 Deprecated: Function split()

  • PHP5.3遇到的问题,开始出现:Deprecated: Function split() 这种不推荐提示,比较好的解决办法是,替换split函数为explode

    或者,如果是类库出错的话,暂时可以屏蔽错误:
    error_reporting=E_ALL & ~E_NOTICE & ~E_DEPRECATED
  • 阅读全文 >>
  • libstdc++.la: No such file or directory 最悲剧的PHP编译错误之完全解决

  • 对于编译PHP时遇到的最悲剧的错误莫过于:

    /bin/sed: can't read /usr/local/gcc-4.3.2/lib/libstdc++.la: No such file or directory
    libtool: link: `/usr/local/gcc-4.3.2/lib/libstdc++.la' is not a valid libtool archive
    make: *** [libphp5.la] Error 1

    实际上我安装系统时都会注意安装开发包不会出现如上错误,但是你怎么能保证别人都这么...
  • 阅读全文 >>
  • 给PHP代码加密之php screw

  • 之前研究过使用 Zend Guard 给PHP代码进行加密结果非常好,但是 Zend Guard 是收费软件,而且收费还很高,使用D版的话不敢在项目上应用本人比较胆小。

    于是在PHP源代码加密的问题上转向使用php screw这是一个开源软件,下面就是php screw的配置方法和使用感受

    第一步,下载软件。
    下载地址:
    下载地址:http://voxel.dl.sourceforge.net/project/php-screw/php-screw/1.5/php_screw-1.5.tar.gz

    # ...
  • 阅读全文 >>
Copyright 2012 cancanyou.com 大口罩的生活领地,欢迎来访,管理员“口罩下的笑”交流Email: meetcancanyou@yahoo.com
京ICP备13030527号-2