gpt4 book ai didi

session - PHP session : Generate a variable and save it for session

转载 作者:搜寻专家 更新时间:2023-10-31 20:41:08 25 4
gpt4 key购买 nike

我对 php session 完全陌生。我无法完成一项简单的任务。这就是我想要做的:

  • 我网站的访问者会看到一张随机图片

到目前为止,这部分工作正常。但是每次用户进入另一个页面(我在所有页面上都显示了这个随机图像)时,脚本会生成一个新的随机图像来显示。

我现在要做的是:

  • 将随机图像变量保存到一个 session 中,这样当他保存 session 时,他将在他访问的每个页面上看到相同的图像。

这是我的工作代码,用于获取随机图像而不将其保存到 session 中。如果有人可以帮助我了解代码的外观以便它与 session 一起使用,那就太棒了。请记住:在 session 方面,我完全是个新手。

如您所见,我需要在生成 session 后将变量 $img 存储到 session 中。如果用户没有在他的 session 中存储 $img 变量,脚本只会在新站点访问时再次 strt。

<?php
function getImagesFromDir($path) {
$images = array();
if ( $img_dir = @opendir($path) ) {
while ( false !== ($img_file = readdir($img_dir)) ) {
// checks for gif, jpg, png
if ( preg_match("/(\.gif|\.jpg|\.png)$/", $img_file) ) {
$images[] = $img_file;
}
}
closedir($img_dir);
}
return $images;
}

function getRandomFromArray($ar) {
mt_srand( (double)microtime() * 1000000 ); // php 4.2+ not needed
$num = array_rand($ar);
return $ar[$num];
}


$root = '';
// use if specifying path from root
//$root = $_SERVER['DOCUMENT_ROOT'];

$path = 'images/';


// Obtain list of images from directory
$imgList = getImagesFromDir($root . $path);
$img = getRandomFromArray($imgList);
?>

<img src="/<?php echo $path . $img ?>" alt="image" />

最佳答案

你需要在每个页面的顶部添加这个来获取你的图像:

session_start();
if(isset($_SESSION['UserImg'])){
$img = $_SESSION['UserImg'];
}
else {
$img = getRandomFromArray($imgList);
$_SESSION['UserImg'] = $img;
}

这应该可行!

关于session - PHP session : Generate a variable and save it for session,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21334686/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com