嘿,我很难弄清楚如何为此生成代码。
$revImages = $revXML->addChild('images');
$revImage = $revImages->addChild('image');
$revImage->addAttribute('src', '001.jpg');
最后一行是我需要的静态条目。是否有一个foreach语句我可以用来根据目录中的图像自动生成最后一行,因此它会输出...
<images>
<image src = "001.jpg"/>
<image src = "002.jpg"/>
<image src = "003.jpg"/>
<image src = "004.jpg"/>
<image src = "005.jpg"/>
<image src = "006.jpg"/>
<image src = "007.jpg"/>
<image src = "008.jpg"/>
<image src = "009.jpg"/>
<image src = "010.jpg"/>
</images>
先谢谢!
答案 0 :(得分:2)
使用glob函数的解决方案(查找与模式匹配的路径名):
foreach (glob("*/yourdirectory/*.jpg") as $filepath) {
$revImage = $revImages->addChild('image');
$revImage->addAttribute('src', $filepath);
}
答案 1 :(得分:1)
就是这样:
$revImages = $revXML->addChild('images');
foreach ($some_data as $value) {
// yes, everytime you need to create new `$revImage`
$revImage = $revImages->addChild('image');
$revImage->addAttribute('src', $value);
}
其中$some_data
是您拥有的值数组。
<强>更新强>
if ($handle = opendir($path)) {
// create parent node before while-loop
$revImages = $revXML->addChild('images');
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != "..") {
// yes, everytime you need to create new $revImage
$revImage = $revImages->addChild('image');
// `$entry` is already a filename, there's no need to iterate over it
$revImage->addAttribute('src', $entry);
}
}
closedir($handle);
}