好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php上传xml Php上传二维码识别

很多站长朋友们都不太清楚php上传xml,今天小编就来给大家整理php上传xml,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 php如何提交xml 2、 php 如何发送xml报文 3、 php 传递xml到asp, 4、 php如何post XML到指定服务器 5、 PHP生成和获取XML格式数据 6、 php如何通过xml传递数据 php如何提交xml

需要确认一下: 是不是你把表单里的数据提交成一个XML格式的请求?

如果是:

直接FORM提交后,ACTION里生成XML的请求格式就可以了。

php 如何发送xml报文

<?php

 

if( $_SERVER['REQUEST_METHOD'] === 'POST' ){

    // 接收

    $content = file_get_contents('php://input');

    $xml = simplexml_load_string($content);

    echo "来自XML接收方的响应\n";

    print_r( get_object_vars($xml) );

    exit;

}

 

// 发送行为

$xml = <<<xml

<?xml version="1.0"?>

<FOX>

<hello>world</hello>

</FOX>

xml;

 

$setting = array(

    'http' => array(

    'method' => 'POST',

    'user_agent' => '<Client Application Name>',

    'header' => "Content-type: application/x-www-form-urlencoded",

    'content' => $xml

    )

);

$context = stream_context_create($setting);

$url = ''. $_SERVER['REQUEST_URI'];

$response = file_get_contents($url, null, $context);

 

echo $response;

CURL是可以的,但是参数设置比较麻烦。这种情况有一些现成的类库实现,提供一个简单的示例

php 传递xml到asp,

这个很简单,先用php读取数据库,看需求传几个参数,比如:关键词、页码、每页显示几条,然后将数据显示为xml格式。

<?php

//输出xml

ob_start("ob_gzhandler");

header('Content-Type:application/xml;charset='.$code);

$list = $db -> getSearchList($key,$page,$pagesize);

$xml = $this->createXML($list);

echo $xml;

?>

调用这个方法:

/**

* 将数组生成XML文件

* array $list

*/

public function createXML($list = null , $code = 'gbk'){

$dom = new DOMDocument('1.0', $code);//编码

$datas = $dom->createElement('datas');

$dom -> appendChild($datas);

$time = $dom->createAttribute('time');//时间

$time -> nodeValue = date('Y-m-d H:i:s', mktime());

$datas -> setAttributeNode($time);

$datas -> appendChild($time);

$total = $dom->createAttribute('allitem'); //统计

$total -> nodeValue = count($list);

$datas -> setAttributeNode($total);

$datas -> appendChild($total);

$lists = $dom->createElement('list'); //列表

$datas -> appendChild($lists);

foreach($list as $k => $v){

$data = $dom->createElement('data');

foreach($v as $key => $val){

if($key == 'description'){ //如果字段为description,用CDATA对象处理

$element = $dom->createElement($key);

$data->appendChild($element);

$element_value=$dom->createCDATASection($val);

$element->appendChild($element_value);

}else{

$element = $dom->createElement($key);

$data->appendChild($element);

$element_value=$dom->createTextNode($val);

$element->appendChild($element_value);

}

}

$lists->appendChild($data);

}

return $dom->saveXML();

}

asp读取这个php的地址,解析出来就好了。

php如何post XML到指定服务器

以下是一个编写好的post XML 的类:

<?php

class xmlSender {

  

   /**

    * 构造器

    * 校验 cURL 是不是可用

    */

   function xmlSender()

   {

      if ( !extension_loaded('curl') ) {

         trigger_error("You need cURL loaded to use this class", E_USER_ERROR);

      }

   }

  

   /**

    * 使用了cURL库发送 xml 内容

    */

   function send( $str_xml, $str_url, $str_page, $boo_ssl = false )

   {

      $str_header  = "POST " . $str_page . " HTTP/1.0 \r\n";

      $str_header .= "MIME-Version: 1.0 \r\n";

      $str_header .= "Content-type: application/PTI26 \r\n";

      $str_header .= "Content-length: " . strlen($str_xml) . " \r\n";

      $str_header .= "Content-transfer-encoding: text \r\n";

      $str_header .= "Request-number: 1 \r\n";

      $str_header .= "Document-type: Response\r\n";

      $str_header .= "Interface-Version: Site 1.0 \r\n";

      $str_header .= "Connection: close \r\n\r\n";

      $str_header .= $str_xml;

      $res_curl = curl_init();

      curl_setopt($res_curl, CURLOPT_URL, $str_url);

      curl_setopt($res_curl, CURLOPT_RETURNTRANSFER, 1);

      curl_setopt($res_curl, CURLOPT_TIMEOUT, 30);   

      curl_setopt($res_curl, CURLOPT_CUSTOMREQUEST, $str_header);

      curl_setopt($res_curl, CURLOPT_FOLLOWLOCATION, 1);

     

      if ( $boo_ssl ) {

         curl_setopt($res_curl, CURLOPT_SSL_VERIFYHOST,  0);

         curl_setopt($res_curl, CURLOPT_SSL_VERIFYPEER, false);

      }

     

      $str_data = curl_exec($res_curl);

      if ( curl_errno($res_curl) ) {

         trigger_error(curl_error($res_curl), E_USER_ERROR);

      } else {

         curl_close($res_curl);

      }

     

      return $str_data;

   }

}

$str_xml = '<xxx>blablabla</xxx><yyy>blebleble</yyy><zzzz>bliblibli</zzz>';

$o = new xmlSender;

print_r($o->send($str_xml, "", "/yyy/x.x.x/", true));

?>

=========================================

这几天我正在研究cURL,这个库正好能够完成你的需要,具体代码的编写需要示例数据与网站才能测试,以下是post的示例:

<?php

$url = '';

// The submitted form data, encoded as query-string-style

// name-value pairs

$body = 'monkey=unclerhino=aunt';

$c = curl_init($url);

curl_setopt($c, CURLOPT_POST, true);

curl_setopt($c, CURLOPT_POSTFIELDS, $body);

curl_setopt($c, CURLOPT_RETURNTRANSFER, true);

$page = curl_exec($c);

curl_close($c);

?>

PHP生成和获取XML格式数据

在做数据接口时 我们通常要获取第三方数据接口或者给第三方提供数据接口 而这些数据格式通常是以XML或者JSON格式传输 本文将介绍如何使用PHP生成XML格式数据供第三方调用以及如何获取第三方提供的XML数据

生成XML格式数据

我们假设系统中有一张学生信息表student 需要提供给第三方调用 并有id name sex age分别记录学生的姓名 性别 年龄等信息

CREATE TABLE `student` (

`id` int( ) NOT NULL auto_increment

`name` varchar( ) NOT NULL

`sex` varchar( ) NOT NULL

`age` *** allint( ) NOT NULL default

PRIMARY KEY  (`id`)

) ENGINE=MyISAM  DEFAULT CHARSET=utf ;

首先 建立createXML php文件 先连接数据库 获取数据

include_once ( connect php ) //连接数据库

$sql = select * from student ;

$result = mysql_query($sql) or die( Invalid query: mysql_error())

while ($row = mysql_fetch_array($result)) {

$arr[] = array(

name => $row[ name ]

sex => $row[ sex ]

age => $row[ age ]

)

}

这个时候 数据就保存在$arr中 你可以使用print_r打印下数据测试

接着 建立xml 循环数组 将数据写入到xml对应的节点中

$doc = new DOMDocument( utf )   // 声明版本和编码

$doc >formatOutput = true;

$r = $doc >createElement( root )

$doc >appendChild($r)

foreach ($arr as $dat) {

$b = $doc >createElement( data )

$name = $doc >createElement( name )

$name >appendChild($doc >createTextNode($dat[ name ]))

$b >appendChild($name)

$sex = $doc >createElement( sex )

$sex >appendChild($doc >createTextNode($dat[ sex ]))

$b >appendChild($sex)

$age = $doc >createElement( age )

$age >appendChild($doc >createTextNode($dat[ age ]))

$b >appendChild($age)

$r >appendChild($b)

}

echo $doc >saveXML()

我们调用了PHP内置的类DOMDocument来处理与生成xml 最终生成的xml格式请点击这里看效果

<?xml version= encoding= utf ?>

<root>

<data>

<name>李王皓</name>

<sex>男</sex>

<age> </age>

</data>

…

</root>

获取XML格式数据

现在我们假设要从第三方获取学生信息 数据格式是XML 我们需要使用PHP解析XML 然后将解析后的数据显示或者写入本地数据库 而这里关键的一步是解析XML

PHP有很多中方法可以解析XML 其中PHP提供了内置的XMLReader类可以循序地浏览过xml档案的节点 你可以想像成游标走过整份文件的节点 并抓取需要的内容 使用XMLReader是高效的 尤其是读取非常大的xml数据 相对其他方法 使用XMLReader消耗内存非常少

header( Content type:text/; Charset=utf )

$url = // helloweba /demo/importXML/createXML php ;

$reader = new XMLReader()   //实例化XMLReader

$reader >open($url) //获取xml

$i= ;

while ($reader >read()) {

if ($reader >nodeType == XMLReader::TEXT) { //判断node类型

$m = $i% ;

if($m== )

$name = $reader >value;  //读取node值

if($m== )

$sex = $reader >value;

if($m== ){

$age = $reader >value;

$arr[] = array(

name => $name

sex => $sex

age => $age

)

}

$i++;

}

}

//print_r($arr)

lishixinzhi/Article/program/PHP/201311/21636

php如何通过xml传递数据

获取request中body的字符串数据,比如一个数组转成xml后,你用post方式给服务器发送xml的字符串,服务器就用file_get_contents('php://input') 去读取xml格式 然后转成数组即可

关于php上传xml的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php上传xml Php上传二维码识别的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did211041
更新时间:2023-05-03   阅读:16次

上一篇: 包含phpmset的词条

下一篇:php小说分章节 php小说网站

相关资讯

最新资料更新

  • 1.php防止ajax接口 php防止接口多次请求
  • 2.php可以回收吗 php还有人用吗
  • 3.php解压gz效率 rarphp文件怎么解压
  • 4.phpisset多个值 php __set __get
  • 5.php解析img PHP解析器
  • 6.ubuntuphp启动 ubuntu开机启动python
  • 7.phpwebim开发 php web开发实用教程
  • 8.php项目补充redis php+redis
  • 9.长沙php就业怎样 2021年php就业班
  • 10.erpphp源码下载 thinkphp erp源码
  • 11.php接口和抽象类的区别 php抽象函数
  • 12.php_syntax的简单介绍
  • 13.接口的继承php 接口的继承和实现
  • 14.php文件工具类 php文件处理
  • 15.jq读取php变量 php读取html内容
  • 16.php求数组的交集 php数组处理函数
  • 17.php是否为post的简单介绍
  • 18.phphtml补全 html自动补全代码
  • 19.搭建分站源码php 建立分站怎么建
  • 20.php登录网站 php网页登录

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]