我试图创建一个每天都会添加歌曲的mp3播放器。经过长时间网上搜索数月之后。最后提出了一个选项,一个带有xml文件的flash播放器,该文件由确定日期的PHP代码控制。因为这是我在PHP中完成的第一个项目,我完全迷失了。
这是我下载的flash播放器的xml
<?xml version="1.0" encoding="UTF-8"?>
<config>
<param name="mp3" value="tracks/2.mp3|tracks/1.mp3" />
<param name="title" value="Day 2|Day 1" />
<param name="height" value="150" />
<param name="width" value="250" />
.........
前两个孩子的“值”属性应该每天更改。
这是我提出的PHP代码无法正常工作
$data = simplexml_load_file('tracks/list.xml');
$xml = new SimpleXMLElement($data);
foreach($xml->param[0]->attributes() as $name => $value)
foreach($xml->param[1]->attributes() as $name2 => $value2)
$today=date(d);
if($today==01){
$value.setAttribute("tracks/1.mp3");
$value2.setAttribute("Day 1");
echo $xml->saveXML();
}
if($today==02){
$value.setAttribute("tracks/2.mp3|tracks/1.mp3");
$value2.setAttribute("Day 2|Day 1");
echo $xml->saveXML();
}
if($today==03){
$value.setAttribute("tracks/3.mp3|tracks/2.mp3|tracks/1.mp3");
$value2.setAttribute("Day 3|Day 2|Day 1");
echo $xml->saveXML();
}
.........
请帮我解决这个问题。 感谢
答案 0 :(得分:0)
这是不正确的。你需要SimpleXml,Dom Xml或者像smthng一样。保存xml后,使用xpath查找节点和set属性。考试:http://php.net/manual/en/book.simplexml.php,http://php.net/manual/ru/domelement.setattribute.php
答案 1 :(得分:0)
您可以使用XQuery来完成这项工作:
let $config :=
<config>
<param name="mp3" value="tracks/2.mp3|tracks/1.mp3" />
<param name="title" value="Day 2|Day 1" />
</config>
let $today := day-from-date(current-date())
return
switch(1)
case 1 return {
replace value of node $config/param[1]/@value with "tracks/1.mp3";
replace value of node $config/param[2]/@value with "Day 1";
$config
}
default return ()
您可以在http://www.zorba-xquery.com/html/demo#bYJOffXahl2PVhczDk+EgmZ1bAI=现场试试以下示例 有关如何安装XQuery PHP扩展的说明,请访问http://www.zorba-xquery.com/html/entry/2011/12/27/PHP_Meets_XQuery