2013-04-21 100 views
0

嗨我想问为什么当我试图回声从数据库的图像来源它的工作,它给了我很多未知的symblos,当我试图通过php中的请求显示获取方法。Php通过请求与图像的回波检索图像

我的问题是,为什么它的工作原理,通过要求在PHP,但不是通过数据库回声取_assoc

BTW我用AJAX从jQuery的获取图像的

  • 这里方法是错误的,它没有为我工作。该getImageOne是从我 连接类数据库

enter image description here

public function getImageOne(){ 
    $this->query("SELECT image_posts FROM ratepicture WHERE id = 1"); 
    return $this->returnOneRow(); 
} 


if($method == 'getImage1') 
{ 
    $getImage1 = $queryUpdate->getImageOne(); 
    $image1 = $getImage1['image_posts']; 
    ?> 
    <img src=<?php echo($image1)?> id="imageBoxImg"/> 
    <?php 
} 
  • 这里是正确的它的工作原理,但我很奇怪,为什么

enter image description here

if($method == 'getImage1') 
{ 
    $getImage1 = $queryUpdate->getImageOne(); 
    $image1 = $getImage1['image_posts']; 
    ?> 
    <img src=displayImages.php?id=1 id="imageBoxImg"/> 
    <?php 
} 


<?php 
$con = mysqli_connect('127.0.0.1', 'root', '', 'test'); 

$id = $_REQUEST['id']; 
$query = "SELECT image_posts FROM ratepicture WHERE id = ".$id.""; 
$image = mysqli_query($con, $query); 
$image = mysqli_fetch_assoc($image); 
$image = $image['image_posts']; 

echo $image; 
?> 
+0

是'image_posts'的URL? – Amir 2013-04-21 04:39:06

+0

它是mysql内的一个blob – 2013-04-21 04:45:23

回答

0

img标记的src属性必须是返回图像数据的URL。你不能直接将图像数据放入属性中(实际上,有办法通过将其转换为base64编码来实现,但这很重要)。

src标记指向的URL可以是静态图像文件,也可以指向生成图像数据的脚本 - 可以通过调用imagecreate()等函数来动态执行,也可以将数据在您的应用程序中出于数据库。

你的第二个脚本就是一个例子。 HTML

<img src=displayImages.php?id=1 id="imageBoxImg"/> 

调用脚本,它反映图像数据。