好用的 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
相关文档:
import flash.net.FileFilter;
import flash.net.FileReferenceList;
import fl.controls.Button;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.events.ProgressEvent;
import flash.events.HTTPStatusEvent;
import flash.display.Loader;
import flash.net.URLRequest;
var ......
编译安装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
function toFixLen($str,$len){ //固定长度字符串的截取
if($len>=strlen($str)||!$len) return $str;
$len-=3;
  ......
$client = new SoapClient('http://www.webxml.com.cn/WebServices/ChinaZipSearchWebService.asmx?WSDL');
#$ret = $client->__call('getSupportProvince', array());
#$ret = $client->__call('getSupportProvinceCity', array());
$ret = $client->__call('getSupportCity', array('callP ......
1.取得当前内存使用大小:memory_get_usage()
2.计算执行时间:microtime(true)
3.设置script执行时间限制set_time_limit
4.设置内存限制ini_set("memory_limit","256M");
3.从远程下载文件的两个方法:
$contents=file_get_contents("http://www.govtrack.us/data/us/gis/zip4dist-prefix.t ......