0

我的服务器上有一个文件夹,/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一次只处理一个文件。提供的代码会实现这一点吗?

4

3 回答 3

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];
}

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

于 2012-09-24T21:41:33.493 回答
2

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

<?php echo random_update(); ?>

对于这个:

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

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

于 2012-09-24T21:44:35.030 回答
1

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

于 2012-09-24T21:41:40.087 回答