2

ユーザーセッションが読み込まれるたびに、ディレクトリからランダムな画像が表示されるようにしようとしています。広告のように。

現時点では、画像がページを更新するたびに変更されますが、ユーザーがページ間を移動すると画像が常に更新されるのが面倒になるため、これはあまり役に立ちません。

これが私がこれまでに持っているものですか?私がしなければならないことをするために私が必要としているコードの一部を誰かが指摘できますか?

<?php

$path_to_images = "../PTB1/data/adverts/"; // path for images
$default_img = "test.png"; // default image, when error on page

function getRandomImage($path, $img) {

if ( $list = getImagesList($path) ) {
mt_srand( (double)microtime() * 1000000 );
$num = array_rand($list);
$img = $list[$num];
}
return $path . $img;
}
function getImagesList($path) {
$ctr = 0;

    if(!isset($_SESSION['id']));


if ( $img_dir = @opendir($path) ) {
while ( false !== ($img_file = readdir($img_dir)) ) {
// formati slik, ki jih prepozna
if ( preg_match("/(\.gif|\.jpg|\.png)$/", $img_file) ) {
$images[$ctr] = $img_file;
$ctr++;
}
}
closedir($img_dir);
return $images;
}
return false;
}

?>
<div class=\"advert-box\" id=\"mod-advert\">
<img src="<?php echo getRandomImage($path_to_images, $default_img) ?>" height="190" width="180"alt="">
</div>
4

2 に答える 2

0

最初のステップでは、ユーザーのログイン時に画像を選択します。

session_start();
if(!isset($_SESSION['image'])){
    $_SESSION['image'] = getRandomImage($path_to_images, $default_img);
}

次に、すべてのページで、$_SESSION['image']変数を確認するだけです。

<img src="<?php echo $_SESSION['image']; ?>" height="190" width="180"alt="">
于 2012-10-13T11:35:13.087 に答える
0

セッション変数を作成してみましたか?

<?php 

session_start();
// check if a image is already present
// no need to create again
if(!isset($_session['image'])){
  $_session['image'] = getRandomImage($path_to_images, $default_img);  
}

....
....


<div class=\"advert-box\" id=\"mod-advert\">
<img src="<?php echo $_session['image'] ?>" height="190" width="180"alt="">
</div>
于 2012-10-13T11:40:42.283 に答える