PHP

Amazon EC2 配置Ubuntu(HVM) + php-fpm + MySQL

博客是放在Amazon的EC2.

全程参考:http://imcn.me/html/y2012/11870.html

 

其中遇到文件权限的问题:

默认EC2的nginx和php-fpm的用户和用户组是www-data。但是我ubuntu的文件权限是quentin,所以php写文件没权限了。

所以为了使php-fpm和文件权限一致,配置如下:

修改php-fpm配置:sudo vi /etc/php5/fpm/pool.d/www.conf

user = www-data 改成 user = ubuntu

修改nginx配置:sudo vi /etc/nginx/nginx.conf 

user www-data 改成 user ubuntu

博客分类: 

面向对象编程的基本原则

1、单一职责原则(Single-Resposibility Principle):

对一个类而言,应该仅有一个引起它变化的原因。本原则是我们非常熟悉地"高内聚性原则"的引申,但是通过将"职责"极具创意地定义为"变化的原因",使得本原则极具操作性,尽显大师风范。同时,本原则还揭示了内聚性和耦合生,基本途径就是提高内聚性;如果一个类承担的职责过多,那么这些职责就会相互依赖,一个职责的变化可能会影响另一个职责的履行。其实OOD的实质,就是合理地进行类的职责分配。

2、开放封闭原则(Open-Closed principle):

"软件实体应该是可以扩展的,但是不可修改。"本原则紧紧围绕变化展开,变化来临时,如果不必改动软件实体裁的源代码,就能扩充它的行为,那么这个软件实体设计就是满足开放封闭原则的。如果说我们预测到某种变化,或者某种变化发生了,我们应当创建抽象类来隔离以后发生的同类变化。在Java中,这种抽象是指抽象基类或接口;在C++中,这各抽象是指抽象基类或纯抽象基类。当然,没有对所有情况都贴切的模型,我们必须对软件实体应该面对的变化做出选择。

3、Liskov替换原则(Liskov-Substituion Principle):

博客分类: 

页面中实现无刷新上传文件

在web中实现无刷新上传文件有几种方式:

 

1. 使用HTML5中的FormData和fileReader实现。但是这种方式受限于浏览器。如:IE只适用于IE10。

可参考:http://net.tutsplus.com/tutorials/javascript-ajax/uploading-files-with-ajax/

2. 使用隐藏的iframe提交。

可参考:http://confi.blog.51cto.com/5271328/1174071

 

最近,在Drupal 7里发现内容类型(content type)为image的字段都可以实现无刷新上传。所以很想知道它是怎么实现的。经过研究发现,其实Drupal7内引入了一个js lib——jquery.form.js。

使用挺简单的:

index.html 

博客分类: 

安装Eclipse PHP 插件,让已有Eclipse支持PHP

想拥有支持PHP的eclipse有几种方式,其中一种就是去下载Eclipse IDE for PHP。但是假如你正在用Eclipse For Java的版本做项目呢,你不希望因为要支持PHP而去使用第二个Eclipse,怎么办呢?

 

这里有个方便的方法: 

打开Eclipse -> Help -> Install New Software,在“Work with”后面输入:http://download.eclipse.org/releases/indigo , 然后点”Add” button。然后eclipse去获取可以安装的插件列表(时间可能会有点长)。

列表显示出来时可能比较多,你可以在列表上方输入“ph”过滤下列表。

博客分类: 

PHP 手册不能查阅的解决办法

最近在PHP官网上下载了PHP中英文chm格式手册各一份 (http://www.php.net/download-docs.php),但是下完发现打开只能看到导航,内容却是看不到的。一直以为是下载的chm文件有问题,重复下载,重复出现这样的状况。

后来,我在下载页面看到了这样的提示:

博客分类: 

建站会用到的Drupal modules大全

转自:http://www.yciydong.com/thread-900-1-1.html

1.为Drupal增加视频播放功能

使用video和flowplayer

http://drupal.org/project/video

http://drupal.org/project/flowplayer

 

2.为Drupal增加邮件服务器 SMTP和PHPMailer

使用SMTP和phpmailer

http://drupal.org/project/phpmailer

http://drupal.org/project/smtp

 

3.为Drupal增加高级论坛功能

先启用7.0核心自带的Forum功能,然后安装以下模块(如果没有安装的话)

http://drupal.org/project/advanced_forum

http://drupal.org/project/ctools

博客分类: 

jQuery、PHP与API等实现脸部辨识功能

导读:脸部辨识是通过图像算法来判断人脸位置和大小的计算机技术。它指认面部特征,忽略其他图像噪音,譬如建筑物,树木和身体。现在大多数社交网络平台的相册都有这个功能,在你上载了一张照片后,它自动跑算法,在照片上标识出你的朋友。此文向你介绍用不同的插件和库来实现这个功能。

jQuery 脸部辨识

jQuery 的插件在照片上标识脸部并给出他们的坐标和大小。这个插件是由六六(音译:Liuliu)结合 HTML5 canvas 开发的,所以只能在支持 HTML5 的客户端跑。有兴趣的话可以参见这个样例(见下图,不过要翻墙),整套算法代码可以在 git hub 下载。

      PHP 脸部辨识扩展

提供了用 PHP 实现的 OpenCV (Open Source Computer Vision) 。它包含两个函数 face_count () 和 face_detect (). 第一个给了在一张图像上所标识的面部数量。第二个给了一个他们的坐标数列和总数量。你可以在 XARG’s page.找到安装程序和使用手册,还有 Demo。

脸部辨识 API

博客分类: 

php 判断是否有中文字符的两种方法[转]

1、用正则判断是否为中文的代码

文件为GB2312格式:

<?php

$str= 'incode'; 

//$str= '程序设计'; 

if (!preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/", $str)) 

     echo '请您使用中文,谢谢!';

}?>

文件为UTF-8格式:

把正则判断改为://if(preg_match("/([/x4e00-/x9fa5])/",$str, $arr) )

 

2、使用php中的mb_strlen和strlen函数判断 <!-- [if gte mso 10]>

方法比较简单:分别使用以上两个函数以当前编码测出字符的返回值,然后比较返回值。

返回值相等的为纯英文、纯数字、英数混排;

返回值不等,且strlen返回值可被mb_strlen整除的为纯汉字

返回值不等,且strlen返回值不可被mb_strlen整除的为英汉或数汉混排

 

 

博客分类: 

页面