我正在努力使每次加载用户会话时,从目录中显示随机图像。像广告一样。
当图像更改每个页面刷新时,这对我没有帮助,因为当用户从一个页面到另一个页面时,不断刷新图像会变得烦人。
这是我到目前为止的情况? 请任何人都可以指出我需要做的代码。
<?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>
答案 0 :(得分: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="">
答案 1 :(得分: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>