本文主要是介绍PHP获取多个当前目录下的所有XML文件的内容,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前提:1.php和所有xml文件放在一个目录下
单个xml文件内容如下:
<?xml version="1.0" encoding="utf-8"?>
<config><id>28000</id><name>VIP1礼包</name>
</config>
1.php文件内容如下:
<?php
$dir='./'; //文件夹下的所有文件 ./代表的是当前文件夹
function readxml($dir,&$arr){if($handle=opendir($dir)){while(false!==($file=readdir($handle))){$sub_dir=$dir.DIRECTORY_SEPARATOR.$file;if(is_dir($sub_dir)&&$file!='.'&&$file!='..'){readxml($sub_dir,$arr);}elseif(preg_match('/\.xml$/',$file)){$arr[]=$sub_dir;}}}
}
readxml($dir,$arr);
foreach($arr as $x){$doc = new DOMDocument();$doc->load ($x);$tmp = $doc->getElementsByTagName('config');foreach($tmp as $t){echo $sub_dir;echo $t->getElementsByTagName('id')->item(0)->nodeValue.";";echo $t->getElementsByTagName('name')->item(0)->nodeValue."<br>";}}
?>
扩展:如果1.php文件在xml文件目录外,且xml文件所在目录为gift那么需要把1.php中$dir='./';修改为$dir='gift/';即可。
输出的效果如下:
28000;VIP1礼包
28001;VIP2礼包
28002;VIP3礼包
28003;VIP4礼包
……
……
这篇关于PHP获取多个当前目录下的所有XML文件的内容的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!