Php 是否在每个新会话上显示随机图像?

Php 是否在每个新会话上显示随机图像?,php,image,session,Php,Image,Session,我试图使它,以便每次用户会话加载一个随机图像显示从目录。就像广告一样 目前,每次页面刷新时图像都会发生变化,这对我并没有什么帮助,因为当用户从一个页面转到另一个页面时,图像的不断刷新变得很烦人 这是我到目前为止得到的? 请任何人指出我需要做什么的代码 <?php $path_to_images = "../PTB1/data/adverts/"; // path for images $default_img = "test.png"; // default image, when er

我试图使它,以便每次用户会话加载一个随机图像显示从目录。就像广告一样

目前,每次页面刷新时图像都会发生变化,这对我并没有什么帮助,因为当用户从一个页面转到另一个页面时,图像的不断刷新变得很烦人

这是我到目前为止得到的? 请任何人指出我需要做什么的代码

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

“height=“190”width=“180”alt=”“>

第一步,用户登录时进行图像选择:

session_start();
if(!isset($_SESSION['image'])){
    $_SESSION['image'] = getRandomImage($path_to_images, $default_img);
}
接下来,在每个页面上,您只需查看
$\u SESSION['image']
变量:

<img src="<?php echo $_SESSION['image']; ?>" height="190" width="180"alt="">
“height=“190”width=“180”alt=”“>

第一步,用户登录时进行图像选择:

session_start();
if(!isset($_SESSION['image'])){
    $_SESSION['image'] = getRandomImage($path_to_images, $default_img);
}
接下来,在每个页面上,您只需查看
$\u SESSION['image']
变量:

<img src="<?php echo $_SESSION['image']; ?>" height="190" width="180"alt="">
“height=“190”width=“180”alt=”“>

您是否尝试创建会话变量

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

您是否尝试创建会话变量

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

一个目录中大约有5个图像,我希望在每个用户会话中随机显示其中一个图像。然后当用户退出浏览器并稍后返回浏览器时,这是一个不同的随机图像。一个目录中大约有5个图像,我希望在每个用户会话中随机显示其中一个图像。然后当用户退出浏览器时e浏览器和稍后返回的它是一个不同的随机图像。有没有一种方法可以在用户不必登录的情况下进行此操作?这样他们一到达页面就可以了?是的,我给你的代码可以进行此操作。基本上,它会检查图像的会话数据是否已设置。如果未设置,则设置它。有没有一种方法可以在用户未设置会话数据的情况下进行此操作g是否登录?一旦他们到达页面?是的,我给你的代码可以做到。基本上,它会检查是否设置了映像的会话数据。如果没有,请设置。谢谢,我尝试了,但现在它根本不会显示映像:(-现在查找目录似乎有问题。请尝试在
会话开始()之前或之后将
$path\u的初始化放置到\u images
$default\u img
谢谢,我尝试过了,但现在它根本不会显示图像:(-现在查找目录似乎有问题。请尝试将
$path\u的初始化放在
会话\u开始()之前或之后的图像
$default\u img