2013-06-07 55 views
5

Tôi đã thử liên kết hình ảnh được lưu trữ (dữ liệu blob) bên trong MySQL DB với PHP nhưng điều duy nhất tôi đạt được là toàn bộ trang ký tự. Đây là những gì tôi đã làm:Dữ liệu BLOB dưới dạng thuộc tính SRC của thẻ hình ảnh

$query = "SELECT image FROM uploads WHERE id = {$id}"; 
$image_array = mysql_query($query, $connection); 
$row = mysql_fetch_array($image_array); 
$image = $row['image']; 

echo $image; 
// echo base64_decode($content); 

Hiển thị dữ liệu thô như thế nào được lưu trữ. Tôi muốn liên kết nó vào thẻ HTML hoặc ít nhất hiển thị nó trên trang, nơi tôi hiển thị rất nhiều thứ khác để tiêu đề như vậy ('Content-type: image/png'); không phải là giải pháp cho tôi.

Bạn có lời khuyên nào không?

+0

Bạn có thể tìm thấy bạn chính xác câu trả lời SO [ở đây] (http: // stackoverflow .com/questions/13225726/i-need-my-php-page-to-show-my-blob-hình ảnh-từ-mysql-cơ sở dữ liệu của tôi) – NullPointer

Trả lời

8

Để hiển thị hình ảnh một cách chính xác bạn chỉ cần đặt một tiêu đề với Content-type: image/png trước echo

header("Content-type: image/png"); 
echo (base64_decode($row['image'])); 

Nếu bạn muốn đặt thay vì trong thẻ hình ảnh bạn chỉ cần sử dụng mã này

echo '<img src="data:image/png;base64,' . $row['image'] . '" />'; 
1

Bạn cần cung cấp tiêu đề phù hợp, nếu không trang sẽ không biết bạn đang gửi gì.

// define results into variables 
$name=mysql_result($result,0,"file_name"); 
$size=mysql_result($result,0,"file_size"); 
$type=mysql_result($result,0,"file_type"); 
$content=mysql_result($result,0,"file_stream"); 

// give our picture the proper headers...otherwise our page will be confused 
header("Content-Disposition: attachment; filename=$name"); 
header("Content-length: $size"); 
header("Content-type: $type"); 
echo $content; 
0

Bạn nên sử dụng thứ được gọi là 'Hình ảnh nội tuyến'. Sử dụng mã này để hiển thị các hình ảnh trên một trang, asssuming biến $ image chứa base64 mã hóa dữ liệu:

<img src="data:image/png;base64,<?php echo $image; ?>" alt="Larry" /> 

Nguồn: https://en.wikipedia.org/wiki/Data_URI_scheme