有时候存储内容比较少切简单,不想用数据库,可以将数组转换为xml存到文本文件,读取的时候再转换为数组使用。<?php /*在(../logs/$order)文件夹中写$fileName文件$order:订单号,用来标记文件夹$fileName:文件名$word:写入内容*/function writeXML($order, $fileName, $word='') {if (!file_exists(dirname(__FILE__).'/../logs/'.$order)){mkdir (dirname(__FILE__).'/../logs/'.$order);}$fp
= fopen(dirname(__FILE__).'/../logs/'.$order.'/'.$fileName,"a");flock($fp, LOCK_EX);$word .= "\r\n";fwrite($fp,$word);flock($fp, LOCK_UN);fclose($fp);}/*在(../logs/$order)文件夹中读取$fileName文件$order:订单号,用来标记文件夹$fileName:文件名*/function readXML($order, $fileName){$file_path
= dirname(__FILE__).'/../logs/'.$order.'/'.$fileName;if(file_exists($file_path)){$fp = fopen($file_path,"r");flock($fp, LOCK_EX);//读取整个文件大小的字符串$str = fread($fp,filesize($file_path));flock($fp, LOCK_UN);fclose($fp);return $str;}else{return '文件不存在';}}/*将数组转化为XML字符串$arr:待转换数组*/function
arrayToXml($arr){ $xml = ""; foreach ($arr as $key=>$val){ if(is_array($val)){ $xml.="<".$key.">".arrayToXml($val).""; }else{ $xml.="<".$key.">".$val.""; } } $xml.=""; return $xml; }/*将XML字符串转化为数组$xml:带转换的xml字符串*/function xmlToArray($xml){ //禁止引用外部xml实体 libxml_disable_entity_loader(true);
$xmlstring = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA); $val = json_decode(json_encode($xmlstring),true); return $val; } ?>
利用XML存储和读取数组
最新推荐文章于 2021-05-21 00:06:33 发布