穆年小菜鸟的日常随记——XML文件写入一个文件里面(适用所有的文件)

class Xml
{
    private $xmlheader='<?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <!--pyp v1.0-->
    <insured>
    <receipt_count>收据数</receipt_count>
    <not_receipt_count>完全识别收据数</not_receipt_count>';
    private $xmlend='</insured>';
    public function Dirname($dir){
        $filename = array();
        if (is_dir($dir)) {
            $handle = opendir($dir);
            while (($dirname=readdir($handle))!==false) {    //判断文件或着文件夹名称是否为0;
                if ($dirname!="." && $dirname!="..") {       //文件夹不能是上级或者本文件夹;
                    $filedir = $dir.'/'.$dirname;         //将文件名进行拼接,判断是否是文件夹;
                    if (is_dir($filedir)) {
                        $filename[$filedir][]=$this->Dirname($filedir);  //返回重新进行文件的查找
                    }else{
                        $filename[] = $dirname;               //文件放到数组里面
                    }
                }
            }
        }   
        return $filename;
    }
    public function xmlcontent($fname){
        foreach ($fname as $key => $name) {
            $strdel = dirname($key);                      //获取文件的目录
            $xmlname = str_replace($strdel.'/','',$key);  //进行目录截取
            foreach ($name as $k => $value) {
                foreach ($value as $ke => $va) {
                    if (substr($va,-4)==".xml") {          //判断是否是xml文件
                        $dir = $key.'/'.$va;
                        $$key.=file_get_contents($dir);		//将文件转换为字符串			
					}
				}
			}
			$xmldir = $strdel."/".$xmlname.".xml";
			$xmlcont = $this->xmlheader.$$key.$this->xmlend;//将需要的文件内容进行拼接
            file_put_contents($xmldir,'');                 //先建立一个空的文件
            file_put_contents($xmldir,$xmlcont);           //将文件内容写入到文件中

        }
    }
}

$dir = "/var/www/html/liveshow/result";
$file = new Xml();
$dirname = $file->Dirname($dir);
$xml = $file->xmlcontent($dirname);

PS:$dir的路径下面还有一层文件夹

这里写图片描述
这里写图片描述

最后生成的xml是以xml文件夹的名字进行命名于xml文件夹同级,写的不完善,希望大家多多指教

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值