2013-07-30 98 views
0

我試圖從base64編碼的表格行中拉出圖片。我需要將它們解碼並顯示在網頁上。我真的想把它們放到幻燈片中,但這是另一個話題!從sql中查詢base64圖像並對其進行解碼

這是迄今爲止

<?php 

require("config.inc.php"); 

//initial query 
// table name is pictures and table row is picture 

$query = "Select * FROM pictures"; 

//execute query 
try { 
$stmt = $db->prepare($query); 
$result = $stmt->execute($query_params); 
} 
catch (PDOException $ex) { 
$response["success"] = 0; 
$response["message"] = "Database Error!"; 
die(json_encode($response)); 
} 

// Finally, we can retrieve all of the found rows into an array using fetchAll 
$rows = $stmt->fetchAll(); 

if ($rows) { 
    $response["success"] = 1; 
    $response["message"] = "Photos Available!"; 
    $response["posts"] = array(); 

    // only 3 rows in table - post_id, username, picture 
    foreach ($rows as $row) { 
     $post    = array(); 
     $post["post_id"] = $row["post_id"]; 
     $post["username"] = $row["username"]; 
     $post["picture"] = $row["picture"]; 
     //update our repsonse JSON data 
     array_push($response["posts"], $post); 
    } 

// echoing JSON response 
echo json_encode($response); 

} else { 

    $response["success"] = 0; 
    $response["message"] = "No Photos Available!"; 
    die(json_encode($response)); 
} 

?> 

問題是解碼的查詢。下面是它顯示到目前爲止

http://www.photosfromfriends.com/webservice/gallery.php

這只是一個畫面(後)的表可能有它的50張圖片,並且每個都需要進行顯示(因此,對於幻燈片的願望)。這是我的頭,我會很感激任何幫助。

+0

這可能會幫助你通過'http:/stackoverflow.com/questions/2820249/base64-encoding-and-decoding-in-client-side-javascript' – RiggsFolly

回答

1

試試這個代碼,請根據您的代碼證明:

$data = json_decode($json, true); 
//print_r($data); 
$picture = base64_decode($data['posts'][0]['picture']); 
header("Content-type: image/png"); 
echo $picture; 

你必須只解碼的解碼數據圖像,並且不要忘了使用頭

+0

感謝您的回覆。我添加了代碼並將標題更改爲image/jpg以匹配最初壓縮的文件類型。現在它給了我錯誤。見http://www.photosfromfriends.com/webservice/gallery.php我的config.inc.php文件列出頭爲頭('Content-Type:text/html; charset = utf-8');但我需要config.inc文件來訪問此程序中的其他表。真是一團糟。 – JeffK

+0

我還將第一行的$ json更改爲「posts」,因爲它表示字符串是預期的。標題問題浮出水面時,我仍然試圖解決這個問題。 – JeffK

+0

你正在打印某些東西,請做更多的研究來找出' – 2013-07-31 00:22:36

相關問題