2012-09-24 62 views
0

我在我的服務器上有一個名爲/assets/includes/updates/的文件夾,裏面有.php文件,其中包含靜態html內容。PHP - 隨機從文件夾中獲取文件並回顯

我想從這個文件夾中隨機抓取一個文件,並將其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個文件。提供的代碼是否可以實現這一點

回答

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

此外,您可能希望啓用錯誤在開發環境中傾倒,所以你知道下一次什麼地方出了錯。

+0

as @nelson says this should be updated to your answer <?php echo file_get_contents(random_update()); ?> – shaz3e

1

您不能使用任何表達式作爲「默認」函數的參數值。

2
從另一個答案

除了發現問題,爲您的代碼,做你想做什麼,你要更換你的下面的代碼:

<?php echo random_update(); ?> 

這一個:

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

因爲你當前的代碼將在div中打印文件名,而我認爲你想要將文件的實際內容插入到div中。

+0

謝謝!我想知道爲什麼它只是打印文件路徑,我很欣賞它。 – Yahreen