我的服务器上有一个名为/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个文件。提供的代码会实现吗?
答案 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)
您不能将任何表达式用作“默认”函数的参数值。