我正在尝试修复已有的网站并添加动态信息。我需要使用来自session.php的用户名添加Welcome,$ user,并仅显示他们是否已登录。然后我需要从/ images / banner /文件夹添加图像以动态显示,一次只能添加一个。
这是我到目前为止所拥有的:
<?php session_start();
require_once ("Includes/simplecms-config.php");
require_once ("Includes/connectDB.php");
require_once ('Includes/session.php");
include("Includes/header.php");
?>
<div id="container">
<?php
$user = $_SESSION['username'];
echo "Welcome $user";
?>
<div id="tagline">Welcome to Sally's diner!</div>
<div id="banner"><img src="Images/banner/1.jpg" /></div>
</div>
</div> <!-- End of outer-wrapper which opens in header.php -->
<?php
include ("Includes/footer.php");
?>
我在第14行遇到语法错误,即$ user = $ _SESSION ['username'];
如何在/ Images / banner /文件夹中显示图像,其中有多个图像,并且一次只显示一个图像。
提前感谢您的帮助,
蛱蝶
答案 0 :(得分:2)
要从文件夹中获取随机图像(在PHP中):
$yourdir = "/Images/banner/";
function getext($file) {
if(strstr($file,'/')) {
$file = explode('/', $file);
$file = end($file);
}
if(strstr($file,'.')) {
$file = explode('.', $file);
$result = end($file);
} else {
$result = false;
}
return $result;
}
function listSlideshowItems($dir) {
$dir = rtrim($dir, '\\/');
$result = array();
if (file_exists($dir) && is_dir($dir)) {
foreach (preg_grep('/^([^.])/', scandir($dir)) as $f) {
if (!is_dir("$dir/$f")) {
if (strtolower(getext($f)) == 'png' || strtolower(getext($f)) == 'jpg') {
$result[] = $f;
}
}
}
return $result;
} else {
return null;
}
}
然后调用函数:
$images = listSlideshowItems($yourdir);
print_r($images);
将提供如下输出:
数组([0] =&gt; 0.jpg [1] =&gt; 1.jpg [2] =&gt; 2.jpg [3] =&gt; 3.jpg [4] =&gt; 4.jpg)
然后将数组洗牌:shuffle($images);
print_r($images);
现在会输出一个输出,例如:
数组([0] =&gt; 1.jpg [1] =&gt; 4.jpg [2] =&gt; 3.jpg [3] =&gt; 2.jpg [4] =&gt; 0.jpg)
只需选择第一个,您的 images 文件夹中就有一个图像的随机文件名:$filename = $images[0]
使用它完成应用程序所需的操作,例如:
<img src="<?php echo $yourdir . $filename; ?>" alt="">