2015-11-17 74 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="">