【发布时间】:2014-02-15 13:35:06
【问题描述】:
我对 php 会话完全陌生。我无法完成一项简单的任务。 这就是我想要做的:
- 我网站的访问者会看到一张随机图片
到目前为止,这部分工作正常。但是每次用户进入另一个页面时(我在所有页面上都显示了这个随机图像),脚本会生成一个新的随机图像来显示。
我现在想做的是:
- 将随机图像变量保存到会话中,这样他在保存会话时访问的每个页面上都会看到相同的图像。
这是我获取随机图像而不将其保存到会话中的工作代码。如果有人可以帮助我了解代码的外观,以便它与会话一起使用,那就太棒了。请记住:在会话方面,我完全是新手。
如您所见,我需要将变量 $img 在生成后存储到会话中。如果用户没有在他的会话中存储 $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 session-variables session-cookies php