【发布时间】:2013-06-24 20:57:15
【问题描述】:
我的php知识有限,如果答案很明显,请见谅。
单击链接时,我正在使用 .rand 函数显示来自 3 个页面之一的随机图像。这些页面都命名相同并且位于不同的文件夹(页面、媒体、文本)中。我遇到的问题是我每次都想要组合 3 个不同的页面/图像,但每次都以相同的 3 个页面/图像组合出现。 我要这个 例如 第 1 页,媒体 2,文本 1。下一个... 第 3 页,媒体 2,文本 3。下一个... 第 1 页,媒体 3,文本 2。
相反,它出来了 例如 第 1 页,媒体 1,文本 1。下一个... 第 3 页、媒体 3、文本 3。下一个... Page2、Media2、Text2。
解决方案可能很简单,但我似乎无法弄清楚。
这是我的代码:
<body>
<div id="wrapper">
<div id="click"><a href="index.php?p=<?php echo 'include-'.rand(1,3); ?>">CLICK HERE</a>></div>
<div id="content">
<?php
if (!empty($_GET['p'])) {
$pages_dir = 'pages';
$pages = scandir($pages_dir, 0);
unset($pages[0], $pages[1]);
$p = $_GET['p'];
if (in_array($p.'.inc.php',$pages)) {
include($pages_dir.'/'.$p.'.inc.php');
} else {
echo 'Sorry, page not found.';
}
}
?>
</div>
<div id="content2">
<?php
if (!empty($_GET['p'])) {
$media_dir = 'media';
$media = scandir($media_dir, 0);
unset($media[0], $media[1]);
$p = $_GET['p'];
if (in_array($p.'.inc.php',$media)) {
include($media_dir.'/'.$p.'.inc.php');
} else {
echo 'Sorry, page not found.';
}
}
?>
</div>
<div id="content3">
<?php
if (!empty($_GET['p'])) {
$text_dir = 'text';
$text = scandir($text_dir, 0);
unset($text[0], $text[1]);
$p = $_GET['p'];
if (in_array($p.'.inc.php',$text)) {
include($text_dir.'/'.$p.'.inc.php');
} else {
echo 'Sorry, page not found.';
}
}
?>
</div>
</div>
</body>
【问题讨论】:
-
这可以用一个循环和一个函数来简化,但你的问题是你只生成一次随机数,你需要为 3 个部分中的每一个做一次
标签: php