好用的 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
相关文档:
(转)问题:
有没有办法在php中实现多线程呢?
假设你正在写一个基于多台服务器的php应用,理想的情况时同时向多台服务器发送请求,而不是一台接一台。
可以实现吗?
回答:
当有人想要实现并发功能时,他们通常会想到用fork或者spawn threads,但是当他们发现php不支持多线程的时候,大概会转换思路去用一些不够好的 ......
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 ......
文档是这么说的:
PHP 的引用允许用两个变量来指向同一个内容。意思是,当这样做时:
<?php
$a
=&
$b
;
?>
这意味着 $a
和 $b
指向了同一个变量。
注: $a
和 $b
在这里是完全相同的,这并不是 $a
指向了 $b
或者相反,而是 $a
和 $b
指向了同一个地方。
所以:
<?ph ......
用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 ......
php特殊字符过滤
1、过滤标签(HTML):strip_tags()
例如:
<?php
$text = '<?php ?><p>Test paragraph.</p><!-- Comment -
-> <a href=http://topic.csdn.net/u/20090311/09/"#fragment">Other text</a>';
echo strip_tags($text);
echo "\n";
// 允许使用<p>和< ......