php模拟http get ,php生成XML文件

最近在做两个 CPL广告接口,业务流程:
1通过我方一个url传递一个他们网站的uid过来,注册后用过phpget 传递注册成功信息给对方,顺带自己记录到库。
2通过查询接口访问我们一个URL让对方网站可以通过URL传递username过来后查询游戏角色信息返回json或者xml给对方。
用到两个东西记录在这里:
php模拟http get ,php生成XML文件
[code lang=”php”]

function createxml($data_array){//生成XML文件
//echo getcwd();
/* $data_array = array(
array(
‘title’ => ‘title1’,
‘content’ => ‘content1’,
‘pubdate’ => ‘2009-10-11’,
)
);*/

// 属性数组
/*$attribute_array = array(
‘title’ => array(
‘size’ => 1
)
);*/

$xml = new XMLWriter();
$xml->openUri(getcwd()."/attached/tmp/1.xml");
// 输出方式,也可以设置为某个xml文件地址,直接输出成文件
$xml->setIndentString(‘ ‘);
$xml->setIndent(true);

$xml->startDocument(‘1.0’, ‘utf-8’);
// 开始创建文件
// 根结点
//$xml->startElement(‘Result’);

foreach ($data_array as $data) {
$xml->startElement(‘Result’);

if (is_array($data)) {
foreach ($data as $key => $row) {
$xml->startElement($key);

if (isset($attribute_array[$key]) && is_array($attribute_array[$key]))
{
foreach ($attribute_array[$key] as $akey => $aval) {
// 设置属性值
$xml->writeAttribute($akey, $aval);
}

}

$xml->text($row); // 设置内容
$xml->endElement(); // $key
}

}
$xml->endElement(); // item
}

$xml->endElement(); // article
$xml->endDocument();

$xml->flush();

}

function crawl_dou_request($url,$timeout=1){//php 模拟get
ob_start();
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT,"MISE 6.0");
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,$timeout);
$file_msg = curl_exec($ch);
curl_close($ch);
return $file_msg;
}

function showxml($data_array){//显示XML格式
header("Content-Type: text/html; charset=UTF-8");
$xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";

foreach ($data_array as $data) {
$xml .= $this->create_item($data[‘UserID’],$data[‘UserName’],$data[‘UserServer’],$data[‘ServerName’],$data[‘UserRole’],$data[‘UserLevel’],$data[‘Status’]);
}
echo $xml;
}
// 创建XML单项
function create_item($title_data, $title_size, $content_data, $pubdate_data,$pubdate_data2,$pubdate_data3,$pubdate_data4)
{
$item = "<Result>\n";
$item .= "<UserID>" . $title_data . "</UserID>\n";
$item .= "<UserName>" . $title_size . "</UserName>\n";
$item .= " <UserServer>" . $content_data . "</UserServer>\n";
$item .= " <ServerName>" . $pubdate_data . "</ServerName>\n";
$item .= " <UserRole>" . $pubdate_data2 . "</UserRole>\n";
$item .= " <UserLevel>" . $pubdate_data3 . "</UserLevel>\n";
$item .= " <Status>" . $pubdate_data4 . "</Status>\n";
$item .= "</Result>\n";

return $item;
}

[/code]

详细接口文档:
蹦蹦网(游戏类)广告接口说明书v3.0