最近的文章列表

PHP结合js实现定时更新程序设计思路示例代码

现在回想起来,我以前的想法是错误的,网页的执行流程

 打开WEB页面 —- 加载HTML代码 (包括CSS,javascript)— 执行PHP代码 — 完成

粗约的就先理解成上面的这个样子。

我们都知道PHP做成服务器端的脚本,它是有超时设置的,可以通过 set_time_limit() 函数来处理。但这样处理PHP代码十分

消耗CPU资源。所以不建议通过循环处理PHP代码来实现。

2014/9/11 Comments:
PHP分享图片等比例缩放生成缩略图函数示例代码
代码如下:
<?php
    /*
    *@im     //需要缩放的图片资源
    *@filetype //制作的缩略图文件类型
    *@dstimW   //缩放的图片的宽度
    *@dstimH  //缩放的图片的高度
    *@thumbname //缩略图文件名字
function makethumb($im,$dstimW,$dstimH,$thumbname ,$filetype){
            //获取im的宽度和高度
2014/9/10 Comments:
CodeIgniter(CI)框架中libraries,helpers,hooks文件夹详细说明和示例代码

1.library文件夹

如果你想扩展CI的功能,那么就把你的类库放在这,注意,这个文件夹是有class组成的,可以看看如果加载library注意事项!

2.helper文件夹

如果你需要使用一些函数来帮你完成一些小功能,那么就把它放着,这里都是过程式的代码而不是类,一般helper是用于view的,
使用方法如下:

2014/9/9 Comments:
php(SplFileObject)+ajax导入大数据时产生的问题处理

遇到的问题就从先到后的一一说吧。

问题1 按照我最初的想法,先上传文件再读取文件。这里问题就来了,当文件较大的时候上传较慢,导致客户看到的操作一直处于等待状态,不人性化。

处理办法:我是这样做的,大神有更好的办法,求介绍。我先把文件上传上去,然后把文件存到一个特定的文件夹就叫 import吧   ,然后返回一个这个文件名字。这样就确保了文件是上传成功的。并且我可以在他返回名字的这一步用js  给客户一个提示。然后就是ajax去请求php读取文件,插入数据库。可是问题来了。

问题2 当我用ajax去请求php读取文件并插入数据库的时候,遇到

2014/9/5 Comments:
php实现压缩来自网络的文件,不用保存临时文件,通过调用nginx的第三方模块mod_zip

php 本身有 zip 模块,可以生产 zip 文件。但是这个 zip 模块只能使用本地文件来打包。如果需要打包输出的文件来自网络,就得先保存临时文件。在文件数量多或者文件大的时候就很杯具。另外,由 php 来输出大的打包文件会占用 php 进程大量时间,影响并发能力。

nginx 有一个第三方模块,mod_zip 。同样可以输出 zip 包。和 X-Accel-Redirect 有点类似,只需要 php 输出相应文件的路径等信息,然后给一个特殊的响应头即可。

nginx zip 模块使用的响应头是 X-Archive-Files: zip 。加上这个响应头,nginx zip 模块就会处理响应正文,完成打包输出。

2014/9/4 Comments:
PHP完整的Session数据库存储操作类(DbSession)示例代码

直接上代码:

代码如下:
class DbSession
{     const TYPE_INT = 1;
    const TYPE_STR = 2;
    /**
     * Database configration
     *
     * @var array
     */
    private $_config = array(
2014/9/3 Comments:
PHP如何捕获因为内存不足导致Fatal error错误的方法

Fatal error 一般是不需要捕获的, 但是在一个复杂的程序中, 如果偶然出现内存不足导致fatal error就难以处理了.

比如. fatal error 出在MySQL类中fetch的时候. 这个时候就很难定位到真正问题所在了.

PHP异常处理中 可以通过set_error_handler来捕获. 但是却只能捕获 NOTICE/WARNING级别的错误, 对于E_ERROR是无能为力的.

register_shutdown_function 能解决set_error_handler的不足.

2014/9/2 Comments:
APC(PHP)参数详解和自定义2套配置文件(性能高, 不适合频繁更新、性能稍低)示例代码

一、安装APC
下载 http://pecl.php.net/get/APC-3.1.9.tgz

编译参数如下:

代码如下:
./configure --enable-apc --enable-apc-spinlocks --disable-apc-pthreadmutex

安装过程就不说了, 标准的php扩展安装模式.

2014/9/1 Comments:
PHP的MVC里的命名空间(Namespace)示例代码简明教程

这一特性在 PHP5.0x 时候就提出过,后来被取消并安排在 PHP6 中实现。而此次又再次“提前”到了 PHP5.3 发布,可见开发人员对其的重视以及谨慎的态度。

官方发布时说明文档的内容可能已过期(documentation maybe out dated),所以在这里简单的说明命名空间的用法:首先是声明一个命名空间,加入了新的关键字 namespace ,其应在类文件的开头

代码如下:
<?php   
namespace Project::Module; 
2014/9/1 Comments:
ZendFramework(PHP开源开发框架)使用中常见问题说明及解决方案示例代码

MVC 代码书写:
控制器代码书写:

代码如下:
<?php
class IndexController extends Zend_Controller_Action
{
function init()
{
$this->registry = Zend_Registry::getInstance();
2014/8/30 Comments: