0

ページロード時と更新時にランダムファイルを表示する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>
4

3 に答える 3

2

これは、パス("../ads/food/*.php")が php (つまり : ) を含むフォルダーにつながっていないためhttp://whatanswered.com/ads/ads/foodです。

../../ads/food/*.phpこれがつながるパスを記述する必要がhttp://whatanswered.com/ads/food/あります(いくつかのphpファイルが含まれています)

于 2013-02-07T21:05:54.760 に答える
0

これが役立つかどうかはわかりませんが、実行できる代替手段がいくつかあります。

  • iframes of sort を使用して、自動更新して新しいページを生成するページにリンクします
  • Ajax を使用して、他のページをサイトに埋め込みます。

Ajaxを使用してサイトを埋め込むためのリファレンスを次に示します。

于 2013-02-07T21:06:23.813 に答える
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)] );
于 2013-02-07T21:44:36.557 に答える