2017-05-14 86 views
0

我想知道是否可以將一系列圖片插入數組中。如果可能的話,我想使用JavaScript,如果不是,可以使用PHP和如何?使用javascript或php將文件夾的圖像插入到數組中

所以我創建了一張名爲「images/cars」的地圖,裏面包含了很多圖片。所有圖片都有不同的名稱。一個叫做「audi」,另一個叫做「奔馳」等。它們都是相同的類型(.gif)。

我可以做到這一點手動喜歡:

var pictures = ["audi.gif", "mercedes.gif", "aston martin.gif", ....] 
//and so on 

但是,這是許多工作要做。另外,當我將新圖片上傳到「圖像」文件夾時,我必須手動將新圖像添加到數組中。

這裏是我的全碼:

<!DOCTYPE html> 
<html> 
    <head> 
    <script> 
     var cars= ["audi.gif", "mercedes.gif", "aston martin.gif", "bmw.gif", "ferrari.gif"]; 
     var outputRandomImage = ""; 

     function myFunction() { 
     for (var i = cars.length - 1; i >=0; i--) { 
      var random = Math.floor(Math.random()*(i+1)); 
      var randomImage = cars[random]; 

      cars[random] = cars[i]; 
      cars[i] = randomImage; 
      outputRandomImage += '<img src="images/cars/' + randomImage + '">' + "<br>"; 
      document.getElementById("output").innerHTML = outputRandomImage; 
     } 
     } 
    </script> 
    </head> 
    <body onload="myFunction()"> 
    <p id="output"></p> 
    </body> 
</html> 

希望這裏有人可以幫助。我在任何想法,建議和建議中打開,謝謝。

+0

顯然不能支持JavaScript的服務器上獲取文件,因爲它是服務器後在瀏覽器中運行已服務的HTML。但是,您可以在PHP中使用'scandir()':http://php.net/manual/en/function.scandir.php,然後使用它來生成帶有數組的Javascript。 –

回答

0

一種方法是創建另一個PHP頁面

$folder = "."; // folder with the image files 
$scan = scandir($folder); 
$files = []; 

foreach($scan as $file_name) 
{ 
    if (!is_dir("$folder/$file_name")) 
    { 
     $array_push($files, $file_name) // if it is not a directory add it to the files list 
    } 
} 
$json_string = json_encode($ar); 
echo $json_string; 

而對於JavaScript的

$.post("getCars.php", function(data, status){ 
    if(status==="success"){ 
     cars = JSON.parse(data) 
    } 
}); 
相關問題