我正在尝试创建一个网页,根据其拥有的访问者数量来回显图像。到目前为止,我的代码计算了对页面的访问次数,并将数字存储在变量$count
中。然后,我在页面$image
上回显一个随机图像。现在,我想将页面上显示的随机图像乘以访问量$count
。因此,如果有20次访问,则会在页面上回显20个随机图像。任何想法如何做到这一点?
到目前为止,这是我的代码:
$fp = fopen("count.txt", "r");
$count = fread($fp, 1024);
fclose($fp);
$count = $count + 1;
$random = rand(0, 30);
$image = "<img src='" . $random . ".jpg'/>";
echo $image;
$fp = fopen("count.txt", "w");
fwrite($fp, $count);
fclose($fp);
非常感谢任何帮助。 谢谢:))
答案 0 :(得分:1)
这应该可以为您提供所需的信息。
for($i = 0; $i < $count; $i++) {
$random = rand(0, 30);
$image = "<img src='" . $random . ".jpg'/>";
echo $image;
}
每次循环都需要重新生成随机数,否则您将重复多次重复相同的图像。现在,如果你想确保获得独特的随机图像,那就更复杂了!
- 编辑
为了获得唯一的随机图像,我通常使用的方法是将每个随机ID添加到循环内的数组中,并每次检查一次。这样的东西(在$random = rand(0,30);
行之后插入):
while(in_array($random, $random_used)) {
$random = rand(0, 30);
}
$random_used[] = $random;
要明确这个的局限性 - 如果你的计数高于使用的随机范围,你将在这里达到无限循环。此外,您应该初始化数组(在for循环之外),例如:
$random_used = array();
...只是为了停止PHP通知。
这可能是一种更简单的方法,但这是我通常使用的方法。
答案 1 :(得分:0)
简单如下:
for($i=0;$i<$count;$i++) {
$random = rand(0, 30);
echo '<img src="'. $random . '.jpg"/>';
}
答案 2 :(得分:0)
for ($i = 1; $i <= $count; $i++)
{
$random = rand(0, 30);
$image = "<img src='" . $random . ".jpg'/>";
echo $image;
}
答案 3 :(得分:0)
for($i=1;$i<=$count;$i++) {
$random = rand(0, 30);
$image = "<img src='" . $random . ".jpg'/>";
echo $image;
}
答案 4 :(得分:0)
$count
是访问次数。做这样的事情:
$count = 20; // I suppose that there are 20 visitors
for($i = 0; $i < $count; $i++) {
$random = rand(0, 30);
$image = "<img src='" . $random . ".jpg'/>";
echo $image;
}
输出图像并在循环中定义随机数。
答案 5 :(得分:0)
不要使用旧文件处理。
$count = file_get_contents("count.txt") + 1;
$a = array();
for($i = 0; $i < $count; $i++) {
$random = rand(0, 30);
while (in_array($random, $a) && count($a) <= 30) {
$random = rand(0, 30);
}
array_push($a, $random);
$image = "<img src='" . $random . ".jpg'/>";
echo $image;
}
file_put_contents("count.txt", $count);
答案 6 :(得分:0)
<?php
$images = range(0, 12);
for($i = 0; $i < $count; $i++) {
// you shoulod check whether count is not above the number of available images
$image = array_rand($images, 1);
echo "<img src='" . $images[$image] . ".jpg'/>";
unset($images);
}
使用上述内容,您将只获得独特的图像