php遍历目录下所有xml文件,PHP遍历指定文件夹内的XML文件,100分啊,100分。

XML文件格式为:

130112001.jpg 130112001.3gp

一个XML文件相当于一条数据。

由于我初学PHP不久,求翻译下面的代码。。。

指定文件夹目录路径:D:\001\1003(此文件夹下有多个XML文件)遍历开始(读取4个XML文件,满足后停止遍历)读取一个XML文件内容$title=XML内的title$img=XML内的image$path=此XML文件的路径把这3个变量输出到页面遍历结束

等于读取了4条数据,每条数据包含title,img,path这3个变量的值。

回复讨论(解决方案)

看到那个头像脑子一下子清零了……微臣告退……

看到那个头像脑子一下子清零了……微臣告退……

帮我解决下,马上就还头像。

$doc = new DOMDocument();$doc->load ("a.xml");$tmp = $doc->getElementsByTagName('template');foreach($tmp as $t){Echo 'title:'.$t->getElementsByTagName('title')->item(0)->nodeValue."

";Echo 'image:'.$t->getElementsByTagName('image')->item(0)->nodeValue."

";Echo 'intro:'.$t->getElementsByTagName('intro')->item(0)->nodeValue."

";Echo 'mediapath:'.$t->getElementsByTagName('mediapath')->item(0)->nodeValue."

";}

翻手册,opendir遍历,DOMDocument解析XML

$i == 0foreach (glob("D:\\001\\1003\\*.xml") as $filename) { if ($i >3) break; 读取$filename…… $i++;}

读取$filename 的部分参考 http://bbs.csdn.net/topics/390354196

懒得写了

呃,居然写了双等号……

$dir='D:\001\1003';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)){if(count($arr)>3){return false;}$arr[]=$sub_dir;}}}}readxml($dir,$arr);foreach($arr as $x){$doc = new DOMDocument();$doc->load ($x);$tmp = $doc->getElementsByTagName('template');foreach($tmp as $t){Echo 'title:'.$t->getElementsByTagName('title')->item(0)->nodeValue."

";Echo 'image:'.$t->getElementsByTagName('image')->item(0)->nodeValue."

";Echo 'intro:'.$t->getElementsByTagName('intro')->item(0)->nodeValue."

";Echo 'mediapath:'.$t->getElementsByTagName('mediapath')->item(0)->nodeValue."

";}Echo "

--------------------------------------";}

给分来!!!!

还真是清零了,晕

foreach (glob("D:\\001\\1003\\*.xml") as $key => $filename)

用$key就可以判断读了四个停止遍历了,不需要$i

PHP code?123456$i == 0foreach (glob("D:\\001\\1003\\*.xml") as $filename) { if ($i >3) break; 读取$filename…… $i++;}

读取$filename 的部分参考 http://bbs.csdn.net/topics/390354196

懒得写了……

PHP code?1234567891011121314151617181920212223242526272829$dir='D:\001\1003';function readxml($dir,&$arr){ if($handle=opendir($dir)){ while(false!==($file=readdir($handle)))……

谢谢了兄弟,有空聊来这给这段代码加几句注释,我好学习,呵呵。

这里也有一个PHP遍历文件夹的函数

你可以参考一下: http://www.bacysoft.cn/thread-77-1-1.html

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值