欢迎光临景诺科技软件开发淘宝店

进店请收藏,谢谢

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

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


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;
}


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

更多

本文固定链接: http://shanmao.me/webback/php/php-mo-ni-http-php-sheng-cheng-xml-wen-jian | 山猫的博客

该日志由 admin 于2013年08月06日发表在 php 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: php模拟http get ,php生成XML文件 | 山猫的博客
关键字: , ,
【上一篇】
【下一篇】