2015-06-03 39 views
2

我真的不想發佈,但我在我的智慧結束。JavaScript,PHP陣列幫助攝像頭圖像,

我有一臺相機,我將用它來向訪客展示當前的天氣狀況。

我有一個PowerShell腳本保存從相機和PSFTP上傳他們到我的FTP快照。文件名稱如下'MMddyyyyhhmmss'HBGCWeatherCam.jpeg。

這些文件位於/ images文件夾

請求: 我需要閱讀所有的圖片文件夾中的文件,按降序排列sortby日期,然後將它傳遞給我的'JavaScript調用數組var images = [],x = -1;'

但是對於我的生活,我似乎無法得到它的工作。

任何幫助將不勝感激。

EDIT--以下是完整的工作代碼,非常感謝Digital_Chris

<html> 
 
    <head> 
 
     <title>Weather Cam</title> 
 
\t 
 

 

 
<br/> 
 
<br/> 
 

 
\t 
 
     <script type = "text/javascript"> 
 
      function displayPreviousImage() { 
 
       x = (x === images.length - 1) ? 0 : x + 1; 
 
       document.getElementById("img").src = images[x]; 
 
      } 
 

 
      function displayNextImage() { 
 
       x = (x <= 0) ? images.length - 1 : x - 1; 
 
       document.getElementById("img").src = images[x]; 
 
      } 
 

 
      //function startTimer() { 
 
      // setInterval(displayNextImage, 500); 
 
\t \t \t //clearInterval(startTimer); 
 
      //} 
 

 
\t \t 
 
\t \t var images = [], x = -1; 
 
<?php 
 
\t $my_files = glob("images/*.jpeg"); 
 
    $counter = 0; 
 
    foreach(array_reverse(glob("images/*.jpeg")) as $file) { 
 
     echo "images[" . $counter . "] = '" . $file . "'; "; 
 
     $counter++; 
 
    } 
 
?> 
 
</script> 
 

 

 
    </head> 
 

 
    <body onload = "displayPreviousImage()"> 
 
    <div align="center"> 
 
     <img id="img" src="images/loading.gif" style="width: 500px; height: 500px;"/> 
 
\t <br/> 
 
     <button style="width: 100;" onclick="displayPreviousImage()">&#60; Previous</button> 
 
\t \t View Other Snapshots 
 
     <button style="width: 100;" onclick="displayNextImage()">Next &#62;</button> 
 
\t <br/> 
 
\t <button style="width: 100;" onClick="window.location.reload()">View Current</button> 
 
\t </div> 
 
    </body> 
 
</html>

+0

爲什麼不把對自己的生活更輕鬆和名稱,如'yyyyMMddhhmmss'的文件嗎? –

+0

我當然可以做到這一點,但我認爲這不會增加任何複雜性,目前我正在嘗試做的事情。 – Bill

+1

根據你的片段,'var_dump($ images);'不能輸出任何東西,因爲你永遠不會定義'$ images'。是'print_r(glob(「images /]」));'工作? –

回答

0

這個答案假定您已經成功地得到文件名的數組$my_files

在你的JavaScript塊,你需要一個PHP循環的圖像:

 var images = [], x = -1; 
<?php 
    $counter = 0; 
    foreach($my_files as $file) { 
     echo "images[" . $counter . "] = 'images/" . $file . "'; "; 
     $counter++; 
    } 
?> 
</script> 

這將產生類似的輸出:

 images[0] = 'images/somefile.jpeg'; 
     images[1] = 'images/anotherfile.jpeg'; 
     images[2] = 'images/whateversInTheDir.jpeg'; 

    </script> 
+0

看起來我們很接近,輸出源代碼如下:images [0] ='images/images /',我在修修補補,謝謝你的幫助! – Bill

+0

已解決,使用此解決方案更新原始帖子,非常感謝您的幫助克里斯,我非常感謝。現在就着手訂購。 – Bill

+0

使用'$ my_files = glob(「images /*.*」);' –