好用的 xmlrpc epi PHP 封装类
在 PHP 中本身带有一个用 C 语言实现的 xmlrpc 扩展,叫
xmlrpc-epi。因为它是用 C 语言实现的,所以从速度上来说比用 PHP 实现的那些 xmlrpc
扩展要快的多。但是在实际应用中却发现很少有人用这个扩展,大都是用 PHP 脚本实现的 xmlrpc
的扩展。原因可能有以下两点:一是这个扩展需要在服务器上打开,如果没有服务器操作权限,使用这个扩展就不现实了。第二个原因就是这个扩展在 PHP
手册中的说明太少了,而且提供的函数都很基础,要使用的话就很麻烦了。针对第二个问题,我对这个扩展进行了封装,将它封装成了3个
类:xmlrpc_error、xmlrpc_client 和 xmlrpc_server。当然最主要的是后两个类,即
xmlrpc_client 和 xmlrpc_server。这两个类大大简化了创建 xmlrpc 客户端和服务器的步骤。
2006年1月11日 更新
修正了某些非标准端口的服务器上指定相对路径进行调用的错误。
2006年1月6日 更新
增加了对 PHP5 的支持。
大家可以通过下面的实例来看一下现在创建 xmlrpc 服务器和客户端的步骤有多么简单。
服务器端代码
下载: server.php
<?php
require_once('class_xmlrpc.php');
function Add($method, $params) {
return $params[0] + $params[1];
}
function Sub($method, $params) {
return $params[0] - $params[1];
}
function Mul($method, $params) {
return $params[0] * $params[1];
}
function Div($method, $params) {
return $params[0] / $params[1];
}
$xmlrpc_server = new xmlrpc_server();
$xmlrpc_server->register_method("Math.add", "Add");
$xmlrpc_server->register_method("Math.sub", "Sub");
$xmlrpc_server->register_method("Math.Mul", "Mul");
$xmlrpc_server->register_method("Math.Div", "Div");
$xmlrpc_server->call_method();
?>
客户端代码
下载: client.php
<?php
require_once('class_xmlrpc.php');
$xmlrpc_client = new xmlrpc_client('server.php', 'Math');
$a = 100;
$b = 20;
echo "\$a = $a; \$b = $b <br />";
echo '$a + $b = ' . $xmlrpc_client->add($a, $b) . '<br />';
echo '$a - $b = ' . $xmlr
相关文档:
__autoload($classname){
}
当PHP找不到类文件会调用这个方法,当注册了自己的函数或方法时,PHP不会调用__autoload()函数,而会调用自定义的函数
spl_autoload_register('func_name');
spl_autoload_register(array('class_name','method_name')); ......
编译安装php5.2.0时出错解决方案
1.错误信息...................如下
checking for mcrypt support... no
checking for mhash support... no
checking whether to include mime_magic support... no
checking for MING support... no
checking for mSQL support... no
checking for MSSQL support via FreeTDS ......
文档是这么说的:
PHP 的引用允许用两个变量来指向同一个内容。意思是,当这样做时:
<?php
$a
=&
$b
;
?>
这意味着 $a
和 $b
指向了同一个变量。
注: $a
和 $b
在这里是完全相同的,这并不是 $a
指向了 $b
或者相反,而是 $a
和 $b
指向了同一个地方。
所以:
<?ph ......
<?php
/*
图片处理类:缩略,裁剪,圆角,倾斜
*/
class resizeimage
{
//图片类型
var $type;
//实际宽度
var $width;
//实际高度
var $height;
//改变后的宽度
var $resiz ......
用php获取本周,上周,本月,上月,本季度日期的代码,主要用到date,strtotime和mktime函数.
echo date("Ymd",strtotime("now")), "<br />";
echo date("Ymd",strtotime("-1 week Monday")), "<br />";
echo date("Ymd",strtotime("-1 week Sunday")), "<br />";
echo date("Ymd",strtotime("+0 week ......