【发布时间】:2011-07-02 22:23:04
【问题描述】:
我在 PHP 上编写了一个简单的图像随机化器,它使用 rand() 函数从列表中选择一个随机图像。该代码完美运行,当我将其作为图片包含在我的 html 中时,会生成一个随机图像。
当我尝试将它包含在同一个 html 中两次时,问题就出现了。我包含它的两次都会生成并显示一个随机图像,但它将是相同的图像。换句话说,我的页面上出现了重复的随机图像。
解决这个问题的一个简单方法是简单地复制 randomizer.php,给它一个新名称,然后在 HTML 中包含这两个图像。我不想这样做的原因是因为我的最终 HTML 将有大约 25 张图片,我只是觉得应该有更好的方法来做到这一点。请记住,我不能将任何 PHP 函数添加到我的 HTML 中,因为我的文件托管在不同的服务器上,而且我的 HTML 服务器不支持 PHP。
如果有人知道除了创建 25 个我的 randomizer.php 文件副本(或创建 25 个包含它的不同文件)之外的更好的修复方法,请告诉我。我绝对会感谢您的意见!
非常非常感谢!!
这是代码的sn-p:
if (count($fileList) > 0) {
do { //do-while loop will get a new random image until that image has not been used yet in this session
$imageNumber = rand( 0 , ( count($fileList) - 1) ); //get random image from fileList
$iterations++;
} while( !(empty($_SESSION['img' . $imageNumber])) && iterations < 200);
$_SESSION['img' . $imageNumber] = True; //this image number has been displayed
$_SESSION['shown']++; //increments the number of shown pictures in this signature
$img = $folder.$fileList[$imageNumber];
}
【问题讨论】:
-
粘贴你得到的东西,这样我们就可以从某个地方开始