2012-05-25 95 views
0

我想加載一個文件夾內的所有圖像使用php,然後建立一個表,並從json文件中拉文本,並把它放在每個圖片。目標是讓json看起來像這樣。從php文件夾讀取文件,並列出從json文件中的條目

{ 
    "Car1": { 
     "year":"2012" 
    }, 
    "Car2": { 
     "year":"2011" 
    }, 
    "Car3": { 
     "year":"2009", 
     "milage":"10,204" 
    } 
} 

Car1,Car2名稱最終將與文件夾中實際圖像的名稱匹配。所以我想抓住json文件中的圖像和正確的部分,並建立一張表格列出他們全部。到目前爲止,我有下面的PHP,但我不確定如何把它放在一起,正如你可以看到,現在它只是分開。有關如何結合下面的php來實現我描述的結果的任何建議?


6/1編輯(使用下面的答案的新代碼)。這是在一個頁面上,我希望所有這些輸出和&字母變量從另一頁上的窗體傳遞。但是當表單提交併且該頁面被觸發時,沒有任何反應。我做錯了什麼嗎?

$letter = $_POST['letter']; 

//Call the path of the cars for the chosen letter 
$path = "/images/PartsCars/".$letter."/"; 
$temp_files = scandir($path); 

//Call the path for the json file in the chosen letter subfolder 
$data = json_decode($string, true); 

//Sort the pictures in this folder alphabetically 
natsort($temp_files); 

echo '<table cellspacing="5" cellpadding="5">'; 

//Loop through all pictures and json elements to build out the page 
foreach($temp_files as $file) 
{ 
    if($file != "." && $file != ".." && $file != "Thumbs.db" && $file != basename(__FILE__)) 
    { 
     echo '<tr>'; 
     echo '<td><a href="'.$url.$file.'" title="'.$file.'"><img src="'.$url.$file.'" alt="'.$file.'" style="width:300px;height:200px;"/></a></td>'; 
     $info = pathinfo($file); 
     $file_name = basename($file,'.'.$info['extension']); 
     echo '<td>'.print_r($data['$file_name']).'</td>'; 
     echo '</tr>'; 
    } 
} 

echo '</table>'; 

回答

1

我使用PHP的json_decode的易用性和使用print_r的演示,你可以使用foreach循環將其打印出來妥善

$path = "./images/PartsCars/A/"; 
$temp_files = scandir($path); 
$string = file_get_contents("/images/PartsCars/A/sample.json"); 
data = json_decode($string, true); 

natsort($temp_files); 

echo "<table>"; 

foreach($temp_files as $file) 
{ 
    if($file != "." && $file != ".." && $file != "Thumbs.db" && $file != basename(__FILE__)) 
    { 
     echo '<tr>'; 
     echo '<td><a href="'.$url.$file.'" title="'.$file.'"><img src="'.$url.$file.'" alt="" /></a></td>'; 
     $info = pathinfo($file); 
     $file_name = basename($file,'.'.$info['extension']); 
     echo '<td>'.print_r(data['$file_name']).'</td>'; 
     echo '</tr>' 
    } 
} 
echo '</table>'; 
+0

請參見上面,因爲我認爲還是有我的編輯我錯過了一些東西。 – Src1988