使用rand()php函数显示随机xml文件

时间:2013-04-05 09:09:34

标签: php xml random

我正在尝试编写一个随机生成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文件详细信息。

任何帮助将不胜感激!对不起,如果这个问题很明显,我就是新手了:))

3 个答案:

答案 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;

?>

供参考:globfile_get_contentsrandcount