1) बेस64 विकल्प
एक ही लाइन के साथ काम करें, image/png
png इमेज और image/jpeg
. के लिए एक जेपीजी के लिए:
echo '<img src="data:image/png;base64,'.base64_encode($blob).'"/>';
उदाहरण :
<div style="background-color:black; text-align:center; padding: 5px;">
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAwBAMAAACh2TSJAAAALVBMVEUAAADtNTX////3n5/+9fX719f7zMz5tLTzfHzuQED//f31jY3ybGzxXV3wVFRaxp+rAAAAAXRSTlMAQObYZgAAALVJREFUOMut0rENAjEQRNHdC4kY0QBaAQUQX0QAFSAKIKQEKiAA6VqgIkriApuV1x7pQPz0aWwHljLMpZ0CRDBGoXmeghGYKFJsUo90giAImCgV5OJF+oOgKE48MlGgs2VLBIunWesw0a1ZHqF82c7GmmIfUSpgotOly29DFPFJFDEhkgIT/V5mZuvj6XofKrHU6vyI4u37IYi36aN4h5tL7PJyif1dvCgEpapzISbCTEj5R78BZq5A5Ldh2XYAAAAASUVORK5CYII">
</div>
2) समर्पित पेज
एक ही पृष्ठ पर कई बड़ी तस्वीरों के साथ, बेस 64 शायद अच्छा विकल्प न हो
बेस 64 अच्छा है, लेकिन थोड़ा भारी (आमतौर पर लगभग बाइनरी के रूप में दो बार मान एन्कोड किया गया) और कैश नहीं किया जा सकता ब्राउज़र द्वारा क्योंकि यह पृष्ठ का एक भाग है, न कि स्वयं एक पृष्ठ (चित्र की तरह)।
इस मामले में, अपनी तस्वीर प्रदर्शित करने के लिए एक विशिष्ट PHP पृष्ठ का उपयोग करना सबसे अच्छा है:
मुख्य पृष्ठ पर आधार 64 के बजाय उपयोग करें:echo '<img src="image.php?id='.$id.'"/>';
उस पंक्ति की आईडी के साथ जिसे आप छवि चाहते हैं।
आपके image.php
. पर , बुनियादी के लिए आपको इसका उपयोग करना चाहिए:
// << include the $pdo here
$query = $pdo->prepare("SELECT `content` FROM `adsubm` WHERE `id` = :id" );
$query->execute(array(':id'=>$_GET['id']));
$data = $query->fetch();
if(empty($data)))
header("HTTP/1.0 404 Not Found");
else {
header('Content-type: image/jpeg');
echo $data['content'];
}