2015-11-17 48 views
-1

显示随机图像我试图修复了预先存在的网站,并添加动态信息。我需要使用来自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"); 
?> 
  1. 我不断收到第14行语法错误是$ USER = $ _SESSION [ '用户名'];

  2. 如何显示从/图片/横幅/文件夹中有一次以上的图像,并只显示一幅图像的图像。

在此先感谢您的帮助,

凡妮莎

+1

你得到具体什么错误?顺便提一句,第4行有一个报价不匹配 - 代码突出显示它。 – showdev

+0

include(“Includes/header.php”);首先删除这一行并尝试,也改变回声“欢迎$用户”; echo“Welcome”。$ user;如果它工作,然后放回去,但它应该包括“Includes/header.php”; –

+0

@MarkNg为什么?这些陈述似乎都没有任何问题。 – showdev

回答

2
  1. 什么@showdev在他的评论中写道。
  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] => 0.jpg [1] => 1.JPG [2] => 2.JPG [3] => 3.JPG [4] => 4.JPG)

然后洗牌数组:shuffle($images);

print_r($images);现在将给出shuffeled的输出,例如:

阵列([0] => 1.JPG [1] => 4.JPG [ 2] => 3.JPG [3] => 2.JPG [4] => 0.jpg)

只需选择第一和你在你图像具有的图像的任意文件名的文件夹$filename = $images[0]

你需要什么,用它你的应用程序,例如:

<img src="<?php echo $yourdir . $filename; ?>" alt="">