PHP 操作xml编程之xml的crud操作

 更新时间:2016年11月25日 16:54  点击:2149
本文章来给大家介绍一个PHP 操作xml编程之xml的crud操作,有需要了解的同学可参考。

html代码页面

 代码如下 复制代码

<html>
<head>
    <meta http-equiv="Content-type" content="text/html;charset=utf-8">
</head>
<body>
    <form action="wordProcess.php" method="post">
        <input type="text" name="enword">
        <input type="hidden" name="type" value="query">
        <input type="submit" value="查询">
    </form>
    <span>添加单词</span>
    <form action="wordProcess.php" method="post">
        英文:<input type="text" name="enword"><br>
        中文:<input type="text" name="zhword"><br>
        <!--<input type="hidden" name="type" value="insert">
        <input type="hidden" name="type" value="update"> -->
        <input type="submit" name="type" value="添加">
        <input type="submit" name="type" value="修改">
    </form>
    <form action="wordProcess.php" method="post">
        <input type="text" name="word">
        <input type="hidden" name="type" value="delete">
        <input type="submit" value="删除">
    </form>
</body>
</html>

wordpress.php文件

 代码如下 复制代码


<?php

    //接收类型 看看用户做什么(查询、添加....)
    $type=$_REQUEST['type'];
    //echo $type;
    //exit();
    //创建xml文档对象
    $doc=new DOMDocument();
    $doc->load("words.xml");

    //进行判断
    if($type=="query"){
        //获取用户输入的值
        $enword=$_REQUEST['enword'];
       
        //判断是否进入查询
        $isEnter=false;
        //获取所有单词节点
        $words=$doc->getElementsByTagName("word");
        //遍历单词节点
        for($i=0;$i<$words->length;$i++){
            $word_node=$words->item($i);
            //获取不同的语种
            $en_word=getNodeVal($word_node,"en");
            $zh_word=getNodeVal($word_node,"zh");
            //查询
            if($enword==$en_word){
                $isEnter=true;
                echo $enword."的中文意思是:".getNodeVal($word_node,"zh");
                echo "<br/><a href='wordView.php'>返回继续查询</a>";
            }else if($enword==$zh_word){
                $isEnter=true;
                echo $enword."的英文意思是:".getNodeVal($word_node,"en");
                echo "<br/><a href='wordView.php'>返回继续查询</a>";
            }
        }

        if(!$isEnter){
            echo "无法查询";
            echo "<br/><a href='wordView.php'>返回继续查询</a>";
        }
    }else if($type=="添加"){
        //接收
        $enword=$_REQUEST['enword'];
        $zhword=$_REQUEST['zhword'];
        if(!empty($enword)&&!empty($zhword)){   
            //获取根节点
            $root=$doc->getElementsByTagName("words")->item(0);
           
            $word=$doc->createElement("word");
            $en=$doc->createElement("en",$enword);
            $zh=$doc->createElement("zh",$zhword);

            //进行挂载

            $root->appendChild($word);
            $word->appendChild($en);
            $word->appendChild($zh);

            //保存xml文件
            $doc->save("words.xml");
            echo "添加成功<br/><a href='wordView.php'>返回继续操作</a>";
        }else{
           
            echo "请输入单词";
            echo "<br/><a href='wordView.php'>返回继续操作</a>";
            exit();
        }
    }else if($type=="delete"){
       
        $word=$_REQUEST['word'];
        //获取所有单词节点
        $words=$doc->getElementsByTagName("word");
        $isEnter=false;
        //遍历单词节点
        for($i=0;$i<$words->length;$i++){
            $word_node=$words->item($i);
            //获取不同的语种
            $en_word=getNodeVal($word_node,"en");
            $zh_word=getNodeVal($word_node,"zh");
            //查询
            if($word==$en_word || $word==$zh_word){
                $isEnter=true;
                //找到父节点
                $word_node->parentNode->removeChild($word_node);
                $doc->save("words.xml");
                echo "删除成功<br/><a href='wordView.php'>返回继续操作</a>";
            }
        }

        if(!$isEnter){
            echo "操作失败";
            echo "<br/><a href='wordView.php'>返回继续操作</a>";
        }
    }else if($type="修改"){
        //接收
        $enword=$_REQUEST['enword'];
        $zhword=$_REQUEST['zhword'];
        if(!empty($enword)&&!empty($zhword)){   
            //获取所有单词节点
            $words=$doc->getElementsByTagName("word");
            //遍历单词节点
            $isEnter=false;
            for($i=0;$i<$words->length;$i++){
                $word_node=$words->item($i);
                //获取不同的语种
                $en_word=getNodeVal($word_node,"en");
                $zh_word=getNodeVal($word_node,"zh");
                //查询
                if($enword==$en_word && $zhword!=$zh_word){
                    //修改中文
                    $isEnter=true;
                    //获取zh节点
                    $zh=$word_node->getElementsByTagName("zh")->item(0);
                    $zh->nodeValue=$zhword;
                    $doc->save("words.xml");
                    echo "修改成功";
                    echo "<br/><a href='wordView.php'>返回继续操作</a>";
                }else if($enword!=$en_word && $zhword==$zh_word){
                    //修改因为
                    $isEnter=true;
                    $en=$word_node->getElementsByTagName("en")->item(0);
                    $en->nodeValue=$enword;
                    $doc->save("words.xml");
                    echo "修改成功";
                    echo "<br/><a href='wordView.php'>返回继续操作</a>";
                }   
            }

            if(!$isEnter){
                echo "没有做任何修改";
                echo "<br/><a href='wordView.php'>返回继续操作</a>";
            }

        }else{
            echo "请输入需要修改的单词";
            echo "<br/><a href='wordView.php'>返回继续操作</a>";
            exit();
        }
    }
   
    //获取节点的文本值
    function getNodeVal(&$MyNode,$tagName){
        return $MyNode->getElementsByTagName($tagName)->item(0)->nodeValue;
    }
?>

words.xml

 代码如下 复制代码

<?xml version="1.0" encoding="utf-8"?>
<words><word><en>boy</en><zh>男孩</zh></word><word><en>girl</en><zh>女孩</zh></word><word><en>fire</en><zh>火</zh></word><word><en>word</en><zh>词库</zh></word></words>

在php中操作xml文档我们可以直接调用DOMDocument类或使用simplexml_load_string类来操作,这些都不需要加载算是内置函数了,我们直接使用。

是PHP脚本读取XML最原始,最笨的方法。

 代码如下 复制代码

$doc = new DOMDocument();
  
$doc->load('test.xml');
  
$rows = $doc->getElementsByTagName("ds");
  
$d = array();
  
$i = 0;
foreach($rows as $row)
{
   $web     = $row->getElementsByTagName('web');
   $webUrl  = $row->getElementsByTagName('webUrl');
   $d[$i]['web']    = $web->item(0)->nodeValue;
   $d[$i]['webUrl'] = $webUrl->item(0)->nodeValue;
   $i++;
}
  
print_R($d);


简单,容易,速度快

 代码如下 复制代码


$xmlData = file_get_contents('test.xml');
  
$xml = simplexml_load_string($xmlData);
  
$xmlArr = objectToArray($xml);

objectToArray函数代码如下

function objectToArray($object)
{  
   if(!$object) return '';
   $result = array();  
   $object = is_object($object) ? get_object_vars($object) : $object;  
   foreach ($object as $key => $val) {  
       $val = (is_object($val) || is_array($val)) ? objectToArray($val) : $val;  
       $result[$key] = $val;  
   }  
   return $result;  
}

上面讲到了读取xml,下面再介绍写xml实例

 代码如下 复制代码

$arr = array(
         array('id'=>1,'web'=>'好脚本','webUrl'=>'http://www.111cn.net'),
         array('id'=>2,'web'=>'PHP脚本','webUrl'=>'http://www.111cn.net/'),
         array('id'=>3,'web'=>'JavaScript脚本','webUrl'=>'http://www.111cn.net/'),
         array('id'=>4,'web'=>'js脚本','webUrl'=>'http://www.111cn.net/'),
         array('id'=>5,'web'=>'PHP脚本示例','webUrl'=>'http://www.111cn.net/'),
         array('id'=>5,'web'=>'JavaScript脚本示例','webUrl'=>'http://www.111cn.net/')
         );
/*使用dom生成xml,注意生成的xml中会没有空格。*/
$dom=new DOMDocument('1.0','utf-8');
  
$path= "logs/test.xml";
  
$data=$dom->createElement('data');
  
$dom->appendChild($data);
  
foreach($arr as $v)
{
    $ds = $dom->createElement('ds');
  
    $id = $dom->createAttribute('id'); 
      
    $id->nodeValue = $v['id'];
   
    $ds->setAttributeNode($id);
  
    $data->appendChild($ds);
  
    foreach($v as $kk=>$vv)
    {
       ${$kk} = $dom->createElement($kk); 
              
       $value= $dom->createTextNode($vv);
      
       ${$kk}->appendChild($value);
  
       $ds->appendChild(${$kk});
  
    }
}
  
$dom->saveXML();
  
$dom->save($path);

xml文件是一种数据存储格式,下面小编给大家介绍php解析xml格式文件的多种方法总结介绍,DOMDocument是我们常用的解析xml一个不错的方法,下面我来给大家总结总结。

DOMElement

DOMElement DOMDocument::createElement ( string $name [, string $value ] )

创建节点元素
String $name:节点名
String $value:节点的值
8、 添加节点
•DOMNode DOMNode::appendChild ( DOMNode $newnode )
添加子节点
   DOMNode $newnode:新节点
在dom操作中,增删改操作必须依赖于父节点
9、 保存
•string DOMDocument::saveXML
保存至某个字符串中
•int DOMDocument::save ( string $filename )
保存至某个文件中
String $filename:文件名
10、 删除节点
•DOMNode DOMNode::removeChild ( DOMNode $oldnode )
删除节点
DOMNode $oldnode:要删除的节点
11、 更新节点

•DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
DOMNode $newnode:新节点
DOMNode $oldnode:原节点

12、 添加属性
•DOMAttr DOMElement::setAttribute( string $name , string $value )
string $name :属性名
string $value :属性值
13、 修改属性
      DOMAttr DOMElement::setAttribute( string $name , string $value )
string $name :属性名
string $value :属性值
14、 删除属性
•bool DOMElement::removeAttribute ( string $name )
string $name:要删除的属性名称
15、 获取属性
•string DOMElement::getAttribute ( string $name )
string $name:要获取的属性值的属性名

DOMDocument还是PHP5后推出的DOM扩展的一部分,可用来建立或解析html/xml,目前只支持utf-8编码。

 代码如下 复制代码

$xmlstring = <<<XML
<?xml version='1.0'?>
<document>
  <cmd attr='default'>login</cmd>
  <login>imdonkey</login>
</document>
XML;

$dom = new DOMDocument();
$dom->loadXML($xmlstring);
print_r(getArray($dom->documentElement));

function getArray($node) {
  $array = false;

  if ($node->hasAttributes()) {
    foreach ($node->attributes as $attr) {
      $array[$attr->nodeName] = $attr->nodeValue;
    }
  }

  if ($node->hasChildNodes()) {
    if ($node->childNodes->length == 1) {
      $array[$node->firstChild->nodeName] = getArray($node->firstChild);
    } else {
      foreach ($node->childNodes as $childNode) {
      if ($childNode->nodeType != XML_TEXT_NODE) {
        $array[$childNode->nodeName][] = getArray($childNode);
      }
    }
  }
  } else {
    return $node->nodeValue;
  }
  return $array;
}

 SimpleXML

SimpleXML是PHP5后提供的一套简单易用的xml工具集,可以把xml转换成方便处理的对象,也可以组织生成xml数据。不过它不适用于包含namespace的xml,而且要保证xml格式完整(well-formed)。它提供了三个方法:simplexml_import_dom、simplexml_load_file、simplexml_load_string,函数名很直观地说明了函数的作用。三个函数都返回SimpleXMLElement对象,数据的读取/添加都是通过SimpleXMLElement操作

 代码如下 复制代码


$string = <<<XML
<?xml version='1.0'?>
<document>
  <cmd>login</cmd>
  <login>imdonkey</login>
</document>
XML;

$xml = simplexml_load_string($string);
print_r($xml);
$login = $xml->login;//这里返回的依然是个SimpleXMLElement对象
print_r($login);
$login = (string) $xml->login;//在做数据比较时,注意要先强制转换
print_r($login);

SimpleXML的优点是开发简单,缺点是它会将整个xml载入内存后再进行处理,所以在解析超多内容的xml文档时可能会力不从心。如果是读取小文件,而且xml中也不包含namespace,那SimpleXML是很好的选择。


XMLReader

XMLReader也是PHP5之后的扩展(5.1后默认安装),它就像游标一样在文档流中移动,并在每个节点处停下来,操作起来很灵活。它提供了对输入的快速和非缓存的流式访问,可以读取流或文档,使用户从中提取数据,并跳过对应用程序没有意义的记录。
以一个利用google天气api获取信息的例子展示下XMLReader的使用,这里也只涉及到一小部分函数,更多还请参考官方文档。

 代码如下 复制代码

$xml_uri = 'http://www.google.com/ig/api?weather=Beijing&hl=zh-cn';
$current = array();
$forecast = array();

$reader = new XMLReader();
$reader->open($xml_uri, 'gbk');
while ($reader->read()) {
  //get current data
  if ($reader->name == "current_conditions" && $reader->nodeType == XMLReader::ELEMENT) {
    while($reader->read() && $reader->name != "current_conditions") {
      $name = $reader->name;
      $value = $reader->getAttribute('data');
      $current[$name] = $value;
    }
  }

  //get forecast data
  if ($reader->name == "forecast_conditions" && $reader->nodeType == XMLReader::ELEMENT) {
    $sub_forecast = array();
    while($reader->read() && $reader->name != "forecast_conditions") {
      $name = $reader->name;
      $value = $reader->getAttribute('data');
      $sub_forecast[$name] = $value;
    }
    $forecast[] = $sub_forecast;
  }
}
$reader->close();

XMLReader和XML Parser类似,都是边读边操作,较大的差异在于SAX模型是一个“推送”模型,其中分析器将事件推到应用程序,在每次读取新节点时通知应用程序,而使用XmlReader的应用程序可以随意从读取器提取节点,可控性更好。
由于XMLReader基于libxml,所以有些函数要参考文档看看是否适用于你的libxml版本。

本文章来给大家介绍在php中生成和获取XML格式数据代码,生成xml我们使用DOMDocument,读取xml我们使用XMLReader即可,下面我分别给大家介绍。

生成XML格式数据

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

 代码如下 复制代码

CREATE TABLE `student` ( 
  `id` int(11) NOT NULL auto_increment, 
  `name` varchar(50) NOT NULL, 
  `sex` varchar(10) NOT NULL, 
  `age` smallint(3) NOT NULL default '0', 
  PRIMARY KEY  (`id`) 
) ENGINE=MyISAM  DEFAULT CHARSET=utf8; 

首先,建立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('1.0', 'utf-8');  // 声明版本和编码 
$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="1.0" encoding="utf-8"?>  
<root>  
  <data>  
    <name>李王皓</name>  
    <sex>男</sex>  
    <age>21</age>  
  </data> 
  ... 
</root> 

获取XML格式数据

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

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

 代码如下 复制代码

header("Content-type:text/html; Charset=utf-8");  
$url = "importXML/createXML.php";   
$reader = new XMLReader();  //实例化XMLReader 
$reader->open($url); //获取xml 
$i=1; 
while ($reader->read()) {     
  if ($reader->nodeType == XMLReader::TEXT) { //判断node类型 
     $m = $i%3; 
     if($m==1) 
         $name = $reader->value;  //读取node值 
     if($m==2) 
         $sex = $reader->value; 
     if($m==0){ 
         $age = $reader->value; 
         $arr[] = array( 
             'name' => $name, 
             'sex' => $sex, 
             'age' => $age 
         ); 
     } 
     $i++; 
  } 

//print_r($arr); 

为了将数据name,sex和age分开,我们使用$i%3来判断取模,因为在获取的xml中,节点data下的信息是以3个子节点存在的。

本文章给来大家讲一下关于PHP 下simplexml使用方法,希望通过此文章能提升大家对simplexml操作xml文档的理解,有需要了解的朋友可参考。

PHP XML处理XML代码如下

 代码如下 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<!-- Edited with XML Spy v2007 (http://www.altova.com) -->
<breakfast_menu>
 <food id="1">
  <name>Belgian Waffles</name>
  <price>$5.95</price>
  <description>two of our famous Belgian Waffles with plenty of real maple syrup</description>
  <calories>650</calories>
 </food>
 <food id="2">
  <name>Strawberry Belgian Waffles</name>
  <price>$7.95</price>
  <description>light Belgian waffles covered with strawberries and whipped cream</description>
  <calories>900</calories>
 </food>
 <food id="3">
  <name>Berry-Berry Belgian Waffles</name>
  <price>$8.95</price>
  <description>light Belgian waffles covered with an assortment of fresh berries and whipped cream</description>
  <calories>900</calories>
 </food>
</breakfast_menu>


php解决xml代码

 代码如下 复制代码

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>使用simpleXML处理XML</title>
</head>

<body>
<table border="1" cellpadding="0" cellspacing="0" width="700">
</tbody>
<tr bgcolor="green">
<th width="5%">&nbsp;</th>
<th width="20%">name</th>
<th width="10%">price</th>
<th width="55%">description</th>
<th width="10%">calories</th>
</tr>
<?php
 // 使用simpleXML处理XML

 $xml = simplexml_load_file('./simple.xml');
 //var_dump($xml);
 //echo $xml->getName();
 //var_dump($xml->children());
 $record = '';
 foreach ($xml->children() as $child)
 {
  $record .= '<tr><td>'. $child->attributes(). '</td>';
  foreach ($child->children() as $item)
  {
   //var_dump($child);
   $record .= '<td>'. $item .'</td>';
  }
  $record .= '</tr>';
 }
 echo $record;
?>
</tbody>
</table>
</body>
</html>

将XML转换为数组结构

 代码如下 复制代码

private function change_simple_xml_to_array($obj){
  $i = 0;
  //从根节点下的二层子节点开始遍历
  foreach($obj->children() as $value){
    //如果发生同级、同标签名的情况,则加一维数组;
    if(isset($last_name) && $value->getName()==$last_name){
      //出现同名发现第二个,则推入第二维数组;
      if($i==1) $arr[$last_name]=array($arr[$last_name]);
      //遍历子节点;
      array_push($arr[$last_name],$this->change_simple_xml_to_array($value));
    }else{
      $last_name = $value->getName();
      if(count($value->children())==0) $arr[$last_name] = $value."";
      else $arr[$last_name] = $this->change_simple_xml_to_array($value);
    }
    $i++;
  }
  return $arr;
}

 

 

 

——————XML文档——————

 


<?xml version="1.0" encoding="utf-8"?>
<use>
  <login id="1">
    <user>bddg</user>
    <pas>abcdefg</pas>
    <permission><fdsa>5</fdsa></permission>
    <online_time>2</online_time>
  </login>
  <login id="2">
    <user>baidongdaogu</user>
    <pas>aaa</pas>
    <permission>1</permission>
    <online_time>2</online_time>
  </login>
  <login id="3">
    <user>baidongdaogu</user>
    <pas>aaa</pas>
    <permission>1</permission>
    <online_time>2</online_time>
  </login>
</use>


————转换后的数组————

Array
(
  [login] => Array
    (
      [0] => Array
        (
          [user] => bddg
          [pas] => abcdefg
          [permission] => Array
            (
              [fdsa] => 5
            )

          [online_time] => 2
        )

      [1] => Array
        (
          [user] => baidongdaogu
          [pas] => aaa
          [permission] => 1
          [online_time] => 2
        )

      [2] => Array
        (
          [user] => baidongdaogu
          [pas] => aaa
          [permission] => 1
          [online_time] => 2
        )
    )
)

[!--infotagslink--]

相关文章

  • php svn操作类

    以前我们开发大型项目时都会用到svn来同步,因为开发产品的人过多,所以我们会利用软件来管理,今天发有一居然可以利用php来管理svn哦,好了看看吧。 代码如下 ...2016-11-25
  • 源码分析系列之json_encode()如何转化一个对象

    这篇文章主要介绍了源码分析系列之json_encode()如何转化一个对象,对json_encode()感兴趣的同学,可以参考下...2021-04-22
  • php中去除文字内容中所有html代码

    PHP去除html、css样式、js格式的方法很多,但发现,它们基本都有一个弊端:空格往往清除不了 经过不断的研究,最终找到了一个理想的去除html包括空格css样式、js 的PHP函数。...2013-08-02
  • C#操作config文件的具体方法

    这篇文章介绍了在C#中对config文件的操作,有需要的朋友可以参考一下...2020-06-25
  • python自动化办公操作PPT的实现

    这篇文章主要介绍了python自动化办公操作PPT的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-05
  • index.php怎么打开?如何打开index.php?

    index.php怎么打开?初学者可能不知道如何打开index.php,不会的同学可以参考一下本篇教程 打开编辑:右键->打开方式->经文本方式打开打开运行:首先你要有个支持运行PH...2017-07-06
  • 浅谈node.js中async异步编程

    1.什么是异步编程? 异步编程是指由于异步I/O等因素,无法同步获得执行结果时, 在回调函数中进行下一步操作的代码编写风格,常见的如setTimeout函数、ajax请求等等。示例: for (var i = 1; i <= 3; i++) {setTimeout(functi...2015-10-23
  • c# socket网络编程接收发送数据示例代码

    这篇文章主要介绍了c# socket网络编程,server端接收,client端发送数据,大家参考使用吧...2020-06-25
  • nodejs文件操作模块FS(File System)常用函数简明总结

    件系统操作相关的函数挺多的。首先可以分为两大类。一类是异步+回调的。 一类是同步的。在这里只对异步的进行整理,同步的只需要在函数名称后面加上Sync即可1. 首先是一类最常规的读写函数,函数名称和形式,应该是起源于C...2014-06-07
  • PHP中func_get_args(),func_get_arg(),func_num_args()的区别

    复制代码 代码如下:<?php function jb51(){ print_r(func_get_args()); echo "<br>"; echo func_get_arg(1); echo "<br>"; echo func_num_args(); } jb51("www","j...2013-10-04
  • C#模拟window操作鼠标的方法

    这篇文章主要介绍了C#模拟window操作鼠标的方法,可实现模拟鼠标移动到固定位置后点击右键的功能,涉及鼠标常用事件的操作技巧,需要的朋友可以参考下...2020-06-25
  • PHP编程 SSO详细介绍及简单实例

    这篇文章主要介绍了PHP编程 SSO详细介绍及简单实例的相关资料,这里介绍了三种模式跨子域单点登陆、完全跨单点域登陆、站群共享身份认证,需要的朋友可以参考下...2017-01-25
  • 微信小程序手势操作之单触摸点与多触摸点

    这篇文章主要介绍了微信小程序手势操作之单触摸点与多触摸点的相关资料,需要的朋友可以参考下...2017-03-13
  • PHP实现创建以太坊钱包转账等功能

    这篇文章主要介绍了PHP实现创建以太坊钱包转账等功能,对以太坊感兴趣的同学,可以参考下...2021-04-20
  • python中字符串最常用的十三个处理操作记录

    这篇文章主要给大家介绍了关于python中字符串最常用的13个处理操作的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-09
  • C#编程总结(六)详解异步编程

    本篇文章主要介绍了C#异步编程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧。...2020-06-25
  • js操作XML文件的实现方法兼容IE与FireFox

    下面小编就为大家带来一篇js操作XML文件的实现方法兼容IE与FireFox。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2016-07-01
  • php微信公众账号开发之五个坑(二)

    这篇文章主要为大家详细介绍了php微信公众账号开发之五个坑,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2016-10-02
  • ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单

    首先是数据库的设计。分类表叫cate.我做的是分类数据的二级联动,数据需要的字段有:id,name(中文名),pid(父id). 父id的设置: 若数据没有上一级,则父id为0,若有上级,则父id为上一级的id。数据库有内容后,就可以开始写代码,进...2014-05-31
  • PHP如何通过date() 函数格式化显示时间

    这篇文章主要介绍了PHP如何通过date() 函数格式化显示时间,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-11-13