簡體   English   中英

刷新包含php的div包括

[英]Refreshing a div that contains php include

我有一個PHP代碼,它在頁面加載和刷新時顯示一個隨機文件。 此代碼位於../ads/food/responce.php中,您將在下面的其他腳本中看到。

<?php
$ad = glob("../ads/food/*.php");
$adfood = $ad[mt_rand(0, count($ad) -1)];
include ($adfood);
?>

我想要旋轉顯示的文件而不必刷新頁面。 (“像圖像滑塊一樣”)

我嘗試過的:

我已經嘗試過一個腳本來刷新div,但它似乎顯示警告而不是文件。 你可以在這里看到錯誤http://whatanswered.com/food/what-c​​an-i-do-with-cornflour.php

<script type="text/javascript">
$(document).ready(function() {
setInterval(function()
{
     $('#button').fadeOut("fast").load('../ads/food/responce.php').fadeIn("slow");
}, 10000);

});
</script>

<div id="button">
<?php include("../ads/food/responce.php");?>
</div>

這只是因為路徑("../ads/food/*.php")不會導致包含任何php的文件夾(即: http://whatanswered.com/ads/ads/food("../ads/food/*.php") http://whatanswered.com/ads/ads/food )。

你必須寫路徑../../ads/food/*.php這將導致http://whatanswered.com/ads/food/ (其中包含一些php文件)

我不確定這是否會有所幫助,但是你可以做一些替代方案:

  • 使用排序的iframe鏈接到將自動刷新並生成新頁面的頁面
  • 使用Ajax在您的網站上嵌入其他頁面。

以下是使用Ajax嵌入站點的一些參考。

你有幾個問題。

  1. 您的responce.php文件已在ads/food/目錄中。 正如@ edi9999已經提到過你的路徑應該是../../ads/food/*.php或者你可以使用*.php
  2. 隨機文件選擇器偶爾會返回responce.php。 這可能不會導致任何實際問題,因為response.php將簡單地遞歸調用自身。 但是如果你的文件列表非常短,那么它有可能會有很大的提升。
  3. 如果目錄非常大(1000多個項目),則可能會出現內存問題。

您可以使用此代碼排除responce.php文件。 此外,還有一個array_rand()函數專門用於從數組中選擇單個項目。

$ad = glob("*.php");
$ad = array_filter($ad, function($name) {
    return preg_match('/response.php$/', $name) === 0 ;
}); 
include( $ad[array_rand($ad)] );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM