2013-02-07 59 views
0

我有一个php代码,它在页面加载和刷新上显示随机文件。 此代码位于../ads/food/responce.php中,您将在下面的其他脚本中看到。刷新包含php的div包括

<?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> 
+0

你确定相对路径是否正确?第二次看,你说你想显示图像,但在glob你有*。PHP? – vodich

+0

在php文件中有横幅代码 – mally

+0

这个php包含完美的作品,它只是不会重新加载它。 – mally

回答

2

这仅仅是因为路径("../ads/food/*.php")犯规导致包含任何PHP文件夹(即:http://whatanswered.com/ads/ads/food)。

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

0

我不知道这是否会帮助,但这里的一些替代品,你可以这样做:

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

这里有一些关于嵌入网站的参考文献Ajax

+0

请勿使用iframe! – jtheman

0

你有几个问题。

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