关于xml使用,这个地方是为了seo收录写的两个函数,仅供参考,欢迎交流,有问题欢迎提问,具体的函数可以查文档。
<code><span><span>function</span><span>edit_xml_file</span><span>(<span>$xml_file_path</span>,<span>$datas</span>,<span>$is_index</span> = false,<span>$is_compress</span> = true)</span>{</span><span>$doc</span> = <span>new</span> DomDocument(<span>'1.0'</span>, <span>'utf-8'</span>);
<span>$doc</span>->formatOutput = <span>true</span>;
<span>$flag</span> = <span>false</span>;
<span>if</span>( !@file_exists(<span>$xml_file_path</span>) || !<span>$doc</span>->load(<span>$xml_file_path</span>)) {
<span>$flag</span> = create_xml_file(<span>$xml_file_path</span>,<span>$datas</span>,<span>$is_index</span>,<span>$is_compress</span>);
<span>return</span><span>$flag</span>;
}
<span>//读取文件数据</span><span>$xmldata</span> = simplexml_load_file(<span>$xml_file_path</span>);
<span>$newxmldata</span> = <span>array</span>();
<span>$xmL_url</span> = <span>array</span>();
<span>foreach</span> (<span>$xmldata</span><span>as</span><span>$key</span>=><span>$obj</span>){
<span>$obj</span> = (<span>array</span>) <span>$obj</span>;
<span>if</span>(<span>isset</span>(<span>$obj</span>[<span>'lastmod'</span>])){
<span>$obj</span>[<span>'lastmod'</span>] = date(<span>'c'</span>,time());
}
<span>$xmL_url</span>[] = <span>$obj</span>[<span>'loc'</span>];
<span>$newxmldata</span>[][<span>$key</span>] = <span>$obj</span>;
}
<span>//将新添加的数据放在一起</span><span>foreach</span> (<span>$datas</span><span>as</span><span>$data</span>){
<span>if</span>(!in_array(<span>$data</span>[<span>$key</span>][<span>'loc'</span>], <span>$xmL_url</span>)){
<span>$newxmldata</span>[] = <span>$data</span>;
}
}
<span>//根据新数据重新更新创建文件</span><span>if</span>(!<span>empty</span>(<span>$newxmldata</span>) && unlink(<span>$xml_file_path</span>)){
<span>$flag</span> = create_xml_file(<span>$xml_file_path</span>,<span>$newxmldata</span>,<span>$is_index</span>,<span>$is_compress</span>);
}
<span>unset</span>(<span>$datas</span>);
<span>return</span><span>$flag</span>;
}
<span>/** xml,追加数据
*<span> @param</span> xml_file_path 文件路径,$data 数据,$is_index 为了区分是地图文件还是地图索引,默认是地图文件
*<span> @author</span> zdj
*<span> @date</span> 2015-01-23
*/</span><span><span>function</span><span>add_data_xml_file</span><span>(<span>$xml_file_path</span>,<span>$datas</span>,<span>$is_index</span> = false,<span>$is_compress</span> = true)</span>{</span><span>$doc</span> = <span>new</span> DomDocument(<span>'1.0'</span>, <span>'utf-8'</span>);
<span>$doc</span>->formatOutput = <span>true</span>;
<span>$flag</span> = <span>false</span>;
<span>if</span>( !@file_exists(<span>$xml_file_path</span>) || !<span>$doc</span>->load(<span>$xml_file_path</span>)) {
<span>$flag</span> = create_xml_file(<span>$xml_file_path</span>,<span>$datas</span>,<span>$is_index</span>,<span>$is_compress</span>);
<span>return</span><span>$flag</span>;
}
<span>$root</span> = <span>$doc</span>->documentElement;
<span>foreach</span> (<span>$datas</span><span>as</span><span>$data</span>){
<span>foreach</span> (<span>$data</span><span>as</span><span>$key</span>=><span>$obj</span>){
<span>$key_dom</span> = <span>$doc</span>->createElement(<span>$key</span>);
<span>foreach</span> (<span>$obj</span><span>as</span><span>$attribute</span> =><span>$attribute_value</span>){
<span>$attribute_dom</span> = <span>$doc</span>->createElement(<span>$attribute</span>);
<span>$attribute_dom_value</span> = <span>$doc</span>->createTextNode(<span>$attribute_value</span>);
<span>$attribute_dom</span>->appendChild(<span>$attribute_dom_value</span>);
<span>$key_dom</span>->appendChild(<span>$attribute_dom</span>);
}
<span>$root</span>->appendChild(<span>$key_dom</span>);
}
}
<span>$doc</span>->appendChild(<span>$root</span>);
<span>$doc</span>->save(<span>$xml_file_path</span>);
<span>//创建压缩的文件</span><span>$xml_gz_file_path</span> = <span>$xml_file_path</span>.<span>'.gz'</span>;
<span>if</span>(<span>$is_compress</span>){
<span>$fp</span> = gzopen (<span>$xml_gz_file_path</span>, <span>'w9'</span>);
gzwrite (<span>$fp</span>, <span>$doc</span>->saveXML());
gzclose(<span>$fp</span>);
}
<span>//给文件赋予权限//给文件赋予权限</span><span>if</span>(file_exists(<span>$xml_file_path</span>)){
chmod(<span>$xml_file_path</span>, <span>0744</span>);
}
<span>if</span>(file_exists(<span>$xml_gz_file_path</span>)){
chmod(<span>$xml_gz_file_path</span>, <span>0744</span>);
}
<span>unset</span>(<span>$datas</span>);
}</code>版权声明:本文为博主原创文章,未经博主允许不得转载。
以上就介绍了php中的关于xml的使用(SEO),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号