我正在尝试编写一个随机生成xml文件的php。 php将生成1-10之间的随机数,每个数字1-10将在php中分配给它的xml文件,该文件将在生成相应的数字时出现。
到目前为止,我有:
<?php
print rand() . "<br>";
print rand(1, 10);
?>
如何将xml文件集成到这个php中?使用这个xml示例:
示例1
<?xml version="3.0" encoding="utf-8" ?>
<channel>
<title>The Dog in the Park</title>
<link>http://pets.com/doginthepark/</link>
<description>
The dog in the park
<item>
<guid>1234</guid>
<title>poodle's video</title>
示例2
<?xml version="3.0" encoding="utf-8" ?>
<channel>
<title>The Cat in the Park</title>
<link>http://pets.com/kitteninthepark/</link>
<description>
The cat in the park
<item>
<guid>1235</guid>
<title>kitten video</title>
<item>
<guid>123455</guid>
<title>tiger video</title>
因此上面的XML文件具有指定的数字1和1。 2.如何将代码中的数字分配给正确的XML,以及如何生成数字1-10的随机XML返回,其中还显示XML文件详细信息。
任何帮助将不胜感激!对不起,如果这个问题很明显,我就是新手了:))
答案 0 :(得分:0)
试试这个:
<?
header('Content-type: text/xml');
$XMLFiles = array ("path/dogs.xml", "path/cats.xml", "path/moreFiles.xml");
$XMLFile = $XMLFiles[rand(0,9)];
header('Content-Disposition: attachment; filename="'.$XMLFile.'"');
print file_get_contents($XMLFile);
?>
将您的一个XML文件直接输出为XML文件!
使用标题时不要输出任何其他内容!
答案 1 :(得分:0)
你不能把xml文件放到一个数组中。然后提交页面有类似的东西
echo file_get_contents($xmlarray[rand(1,10)]);
我认为这会奏效。希望这有帮助。
答案 2 :(得分:0)
我会这样做,这样你就不必在每次添加新的xml文件时重新编码数组随机值,并且无论文件被调用什么都没关系。
<?php
$files = glob('path/to/files/*.xml');
$xml = file_get_contents($files[rand(0, count($files)-1)]);
// do something with the xml here
echo $xml;
?>