一旦您使用了 xmlrpc_set_type 函式,資料就會被編碼成 PHP 物件。在您的 XMLRPC 伺服器中,為了存取資料,您必須能夠存取物件的必要部分。
所以… 延伸上面的例子
<---------- 客戶端 ---------->
$string = "我的紀錄事件。";
$date = "20030115T12:22:37"; // 必須是這個格式
$binary = fread($fp, 128);
xmlrpc_set_type(&$date, "datetime");
xmlrpc_set_type(&$binary, "base64");
$xmlrpcReq = xmlrpc_encode_request("log.data", array($string, $date, $binary));
為了取得二進位檔案資料,您需要取得物件的純量部分
<---------- 伺服器端 ------------>
$string=$params[0];
$date_obj=$params[1];
$binary_obj=$params[2];
$date=$date_obj->scalar;
$binary_data=$binary_obj->scalar;
// 然後您可以繼續寫入二進位資料
fwrite($handle,$binary_data);