繁体   English   中英

如何从数据库检索图像到HTML表单?

[英]How to retrieve image from database to html form?

我将图像名称保存到数据库,然后将图像本身保存到文件中。

当用户想要查看它们时,我想在div中向用户显示它们。

在这里,我的想法变得混乱。

这是我的PHP代码

        $con = mysql_connect("localhost","root","");
        if (!$con){die('Could not connect: ' . mysql_error());}
            mysql_select_db("marmaris", $con);
            $bilgi= mysql_query("SELECT * FROM ".$isim." WHERE id='".$id."'");

            while($sutun= mysql_fetch_array($bilgi))
            {
                 $name=$sutun["name"];
                 $bures=$sutun["resbuyuk"];
                 $kures=$sutun["reskucuk"];
                 $aciklama=$sutun["aciklama"];
                 $map=$sutun["map"];
                 $link=$sutun["link"];

            }
            $words = preg_split('/[\s?]+/', $kures);
            $result = count($words);
            for($i=0;$i<$result;$i++){
                $city=$words[$i];
            }

我现在有6张图像$ city是图像之一,例如,我想向用户显示该图像。

这是我的html部分,不必担心isimid名称仅一次发送2个单词的情况。

 <div id="kucukres">
    <img src="upload/<?php echo $city ?>" alt="Angry face" width="32" height="32" />
    </div>

我想显示图像,但它只写替代词。

总而言之,我想显示已保存(名称)在数据库中的图像,以及其本身在上载文件夹中的图像。

在php部分中,我从数据库中获取文件的名称; 在html中,我想显示该图像。

编辑:这是我的新html标签。

   <div id="kucukres">
   <img src="getres.php?file=<?php echo $isimid;?>"/> 
    </div>

和我的PHP文件是

$bilgi= mysql_query("SELECT reskucuk FROM ".$isim." WHERE id='".$id."'");

            while($sutun= mysql_fetch_array($bilgi))
            {

                 $kures=$sutun["reskucuk"];

            }
            $words = preg_split('/[\s?]+/', $kures);
            $result = count($words);
            //unlink("upload/$word[$isim]");
            for($i=0;$i<$result;$i++){
                $city=$words[$i];
                header('Content-type: image/jpeg'); 
                $pic = 'upload/'.$city; 
                 echo $pic;

但我仍然看不到HTML文件中的图像。

关于这一主题的教程和示例不乏不足。

本质上,您要执行的操作涉及两个PHP文件,而不仅仅是您拥有的一个。 您将需要一个用于页面,一个需要用于图像(可以对所有图像重复使用)。

首先查看为页面呈现的HTML。 img标签引用的是什么? 它正在寻找服务器上不存在的资源(图像文件),因此自然不显示任何内容。 您的服务器日志还将显示这些图像请求的404错误。

这是因为图像实际上不是页面的一部分。 页面仅引用该资源,这是一个完全独立的资源,浏览器的工作是将其放置到位。 因此,您需要创建一个单独的资源(PHP文件)来提供该图像。

我的PHP有点生锈,因此我将在线参考许多示例和教程以获取详细信息。 但是结构基本上是这样的:


页面A,宿主页面:

从数据库中获取有关图像的信息。 它的ID,它的alt文本(如果适用)等。使用此信息来构建img标签。 就像是:

echo '<img src="/images/dbimage.php?id=' . $id_from_db . '" alt="' . $alt_from_db . '"/>';

页面B,图片页面:

如果它也是动态的,则从数据库及其内容类型中获取实际图像(blob)。 在此之前任何输出。 响应标头的内容类型设置为图像的内容类型,将原始图像字节写为输出,结束输出。


再次要记住的主要事情是,图像不是作为页面的一部分发送到浏览器的。 它是从对服务器的完全独立的请求中获取的完全独立的资源。 您只需要与页面本身分开处理该请求。

(例如,请注意,如果您随后导航到为img标签生成的URL,则服务器将仅显示图像。不需要主机页面。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM