PHP - 随机从文件夹中获取文件并回显

时间:2012-09-24 21:39:16

标签: php

我的服务器上有一个名为/assets/includes/updates/的文件夹,里面有.php个文件,其中包含静态HTML内容。

我想从这个文件夹中随机抓取一个文件,然后echo将其放入div中。这就是我所拥有的:

<?php
 function random_update($dir = $_SERVER['DOCUMENT_ROOT'].'/assets/includes/updates/')
{
    $files = glob($dir . '/*.*');
    $file = array_rand($files);
    return $files[$file];
}
?>

<div class="my-div">
 <?php echo random_update(); ?>
</div><!--end my-div-->

我收到500个错误?另外,我的目的是一次只有echo 1个文件。提供的代码会实现吗?

3 个答案:

答案 0 :(得分:5)

Php无法识别您使用的语法。你必须像这样绕过它:

<?php
function random_update($dir = NULL)
{
    if ($dir === NULL) {
        $dir = $_SERVER['DOCUMENT_ROOT'] . '/assets/includes/updates/';
    }

    $files = glob($dir . '/*.*');
    $file = array_rand($files);
    return $files[$file];
}

此外,您可能希望在开发环境中启用错误转储,以便下次知道出了什么问题。

答案 1 :(得分:2)

除了发现问题的另一个问题,为了让您的代码能够执行您想要的操作,您必须替换以下代码:

<?php echo random_update(); ?>

这个:

<?php echo file_get_contents (random_update()); ?>

因为您当前的代码会在div中打印文件名,而我认为您希望将文件的实际内容插入div中。

答案 2 :(得分:1)

您不能将任何表达式用作“默认”函数的参数值。