刷新包含php的div包括

时间:2013-02-07 20:54:28

标签: php javascript html load

我有一个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-can-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>

3 个答案:

答案 0 :(得分:2)

这只是因为路径("../ads/food/*.php")不会导致包含任何php的文件夹(即:http://whatanswered.com/ads/ads/food)。

您必须编写路径../../ads/food/*.php这将导致http://whatanswered.com/ads/food/(其中包含一些php文件)

答案 1 :(得分:0)

我不确定这是否会有所帮助,但您可以采取以下措施:

  • 使用排序的iframe链接到将自动刷新并生成新页面的页面
  • 使用Ajax在您的网站上嵌入其他网页。

以下是使用Ajax嵌入网站的一些参考。

答案 2 :(得分:0)

你有几个问题。

  1. 您的responce.php文件已在ads/food/目录中。正如@ edi9999已经提到过,您的路径应该是../../ads/food/*.php,或者您可以使用*.php
  2. 您的随机文件选择器偶尔会返回responce.php。这可能不会导致任何实际问题,因为response.php将简单地递归调用自身。但是如果你的文件列表很短,那么它有可能会有相当多的回复。
  3. 如果您的目录非常大(1000多个项目),则可能会出现内存问题。
  4. 您可以使用此代码排除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)] );