飞龙博客

妙法莲华经

php写xml文件往discuz X2服务器写xml基本思路

feilong.org 修订于2011-10-08 12:45:42

php如何往服务器写xml文件?思路是首先写入的文件夹要有写入权限,其次用xml文件存放的物理路径,再次用simplexml_load_string,然后用 fopen、
fwrite、fclose。飞龙这里写的php写xml文件举例,代码有discuz X2 的数据库写入操作,你可以根据你实际情况修改,不必拘泥。本日志修订地址 http://feilong.org/php-xml-discuz 欢迎阅读。

 
<?php 
 
//飞龙写的php往服务器写xml文件的基本思路 欢迎与飞龙交流 下面代码有discuzX2的部分,可以根据你实际情况修改
 
//定义xml文件的名称生成方式
$xmlfilename=fl_create_xml_filename($musicids);//echo '$xmlfilename='.$xmlfilename;echo 'feilongtest';
 
//定义xml文件存放的物理路径
$rootdir=dirname(dirname(dirname(dirname(__FILE__))));//echo $rootdir;
$xmldir=$rootdir.'/data/cache/';
$xmlpath=$xmldir.$xmlfilename; //echo '$xmlpath='.$xmlpath;echo 'feilongtest';
 
 
//定义xml文件内容
$xmlcont=fl_create_xml_cont($musicids);//print_r($xmlcont);
 
//生成xml规范字符串对象
$string = <<<XML
$xmlcont
XML;
 
$xmlobject = simplexml_load_string($string);//print_r($xml);
 
//规范的xml文件内容
$newxmlcont = $xmlobject->asXML();// print_r($newxml);
 
 
//打开或新建xml文件,写入规范的xml文件内容,然后关闭文件
$xmlfile = fopen($xmlpath, "w"); 
fwrite($xmlfile, $newxmlcont);
fclose($xmlfile);
 
//返回xml文件的显示网址!
$xmlurl=$_G['siteurl'].'/data/cache/'.$xmlfilename;//echo '$xmlurl='.$xmlurl;echo 'feilongtest';
 
}//20110926-0927
 
 
 
 
//相关xml基础操作处理的php函数, 具体请按自己的项目数据表修改
 
function fl_create_xml_cont($musicids){
if($musicids){
global $_G;
 
$xmlcont='<?xml version="1.0" encoding="utf-8"?>'."\n";
$xmlcont.='<playlist version="1" xmlns="http://xspf.org/ns/0/">'."\n";
$xmlcont.='  <trackList>'."\n";
 
$i=0;
foreach ($musicids as $musicid){
 
$i++;
//循环获取音乐相关值
$music=fl_get_music_by_id($musicid);
$musicname=cutstr($music['name'], 60,'....');
$uid=$music['uid'];$username=fl_get_username($uid);
$musicfile=$music['musicurl'];$musicpath=$_G['siteurl'].$musicfile;
$musicface=fl_get_music_face($music);
 
$xmlcont.='    <track>'."\n";
$xmlcont.='      <creator>'.$i.'.'.$username.'</creator>'."\n";
$xmlcont.='      <title>'.$musicname.'</title>'."\n";
$xmlcont.='      <location>'.$musicpath.'</location>'."\n";
$xmlcont.='      <image>'.$musicface.'</image>'."\n";
$xmlcont.='    </track>'."\n";
}///
 
$xmlcont.='  </trackList>'."\n";
$xmlcont.='</playlist>'."\n";
 
return $xmlcont;
}}//20110926
 
 
 
function fl_create_xml_filename($musicids){
if($musicids){
$filename='fl';
foreach ($musicids as $musicid){
$filename.=$musicid;
}///
 
$xmlname=$filename.'.xml';
 
return $xmlname;
}}//20110926
 
 
?>

更新网址:http://feilong.org/php-xml-discuz
最初发布:20110927 04:22:45 feilong.org 于广州

加入收藏夹,查看更方便。

所在分类: 网站开发

新作:

旧文:

飞龙前端QQ群