好用的 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
相关文档:
简述题(50分)()
1、用PHP打印出前一天的时间格式是2006-5-10 22:21:21(2分)
echo date('Y-m-d H:i:s', strtotime('-1 day'));
或者
$yesterday = time() - (24 * 60 * 60);
echo 'today:'.date('Y-m-d H:i:s')."\n";
echo 'yesterday:'. date('Y-m-d H:i:s', $yesterday)."\n";
2、echo(),print(),print_r()的区别( ......
<?php
function toFixLen($str,$len){ //固定长度字符串的截取
if($len>=strlen($str)||!$len) return $str;
$len-=3;
  ......
(转)问题:
有没有办法在php中实现多线程呢?
假设你正在写一个基于多台服务器的php应用,理想的情况时同时向多台服务器发送请求,而不是一台接一台。
可以实现吗?
回答:
当有人想要实现并发功能时,他们通常会想到用fork或者spawn threads,但是当他们发现php不支持多线程的时候,大概会转换思路去用一些不够好的 ......
<?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 ......