易截截图软件、单文件、免安装、纯绿色、仅160KB

如何用C 编写PHP扩展

PHP取得成功的一个主要原因之一是她拥有大量的可用扩展。web开发者无论有何种需求,这种需求最有可能在PHP发行包里找到。PHP发行包包括支持各种数据库,图形文件格式,压缩,XML技术扩展在内的许多扩展。
  扩展API的引入使PHP取得了巨大的进展,扩展API机制使PHP开发社区很容易的开发出几十种扩展。。扩展主要的思想是:尽可能的从扩展编写者那里隐藏PHP的内部机制和脚本引擎本身,仅仅需要开发者熟悉API。
  有两个理由需要自己编写PHP扩展。第一个理由是:PHP需要支持一项她还未支持的技术。这通常包括包裹一些现成的C函数库,以便提供PHP接口。例如,如果一个叫FooBase的数据库已推出市场,你需要建立一个PHP扩展帮助你从PHP里调用FooBase的C函数库。这个工作可能仅由一个人完成,然后被整个PHP社区共享(如果你愿意的话)。第二个不是很普遍的理由是:你需要从性能或功能的原因考虑来编写一些商业逻辑。
  首先,我们应该选择如何去构建我们的扩展模块, 有三种方式:
  1. External Modules
  外部模块,也就是编译成共享库,用dl()函数动态加载。
  好处: (1)不需要重新编译 PHP (2)PHP体积小,因为不需要编译进PHP
  缺点: (1)每次*.php脚本执行都需要用 dl()去加载,效率较低
  (2)每次都要调用dl()
  2. Built-in Modules
  编译进PHP
  好处: (1)不需要动态加载,模块在php脚本里面可以直接使用.
  (2)不需要将模块编译成.so共享库,因为直接编译进PHP。
  缺点: (1)对模块的改变都需要重新编译PHP
  (2)因为编译进PHP,所以PHP二进制文件较大,而且多占点内存
  3. The Zend Engine
  Zend 核心里实现 (略 ... 有兴趣的话可以看 Zend API)
  Note: 本人推荐用 第 2 种方式,直接编译进PHP, 但是在下面示例里,我们编译成外部模块
  ,因为,外部模块不需要重新编译 PHP,所以在测试阶段先编译成共享库,然后用dl()
  加载(不过记得在php.ini里将安全模式设为 Off),测试完后再用第2种方式重新编译进 PHP.
  1. 首先下载 PHP 源代码, 解压。 然后我们开始构建代码结构,可以利用 PHP 源代码包ext目录里提供的 ext_skel 程序去生成我们需要的结构.
  [ext]#./ext_skel --extname=my_php_module
  这样会在ext下生成一个 my_php_module目录。
  目录里有 config.m4, my_php_module.h, my_php_module.c 等几个文件。
  2. my_php_modu


相关文档:

php数据库导出类 导出JSON,XML,WORD,EXCEL

from:http://www.xland.com.cn/article/7/81/0804/28778.htm
本类实现:
数据库信息导出:word,excel,json,xml,sql
数据库恢复:从sql,从文件
具体用法:
首先新建测试用数据库mytest,然后在里面建张表
PHP代码:
以下是代码片段:
--
-- 表的结构 `test`
--
CREATE TABLE `test` (
   `id ......

Php路径问题及其解决方法

初学PHP的时候,我们经常被PHP的绝对路径和相对路径弄的晕头转向。路径问题经常导致include及require命令不能加载到指定的页
面,从而导致Web程序运行错误。本文将跟大家一起探讨一下PHP路径问题的常用解决方案。­
下面我们先做一个个简单的示例:­
­
上图是一个简单Web项目的结构图,其中各文件的代码如下: ......

lighttpd + mysql + php(fast cgi)安装与配置

准备:
lighttpd-1.4.15.tar.gz
php-4.4.2.tar.gz
mysql-5.0.20a.tar.gz
开始:
1 编译安装lighttpd
 # tar zxvf lighttpd-1.4.15.tar.gz
 # cd lighttpd-1.4.15
 #  ls
 # ./configure --prefix=/usr/local/lighttpd    //此部无法编译时提示安装prce-devel
 #&nbs ......

C preprocessor

http://en.wikipedia.org/wiki/C_preprocessor
C preprocessor
from Wikipedia, the free encyclopedia
Jump to:navigation, search
The C preprocessor (cpp) is the preprocessor for the C programming language. In many C implementations, it is a separate program invoked by the compiler as the first part ......

【链接】C/C++ Online Reference


C/C++ Reference 
http://www.cppreference.com/ 
C++ Library Reference 
http://www.cplusplus.com/ref/ 
Standard C++ Library Class Reference at Rogue Wave 
http://www.roguewave.com/support/docs/hppdocs/stdref/ 
Dink ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号