0

我已将图像指针存储在 mysql 数据库中,所以现在我只想使用<img>标签打印图像。

我得到了数据库的变量图像给我指向图像的指针....对于这个特定的页面(和示例)它给了我这个指针

$Image = '/xampp/htdocs/cw/mysql/images/Iphone3GSh.JPG'

而我<img>的做法并没有显示出图像是

<img src="<?php echo $Image; ?>" />
4

1 回答 1

1

您错过了将文件的本地路径(您所说的指针通常命名为file-path)转换为 URI 的重要步骤。这可以作为纯数据 uri 完成(不适合较大的图像):

$ImageSrc = 'data:image/jpg;base64,'.base64_encode(file_get_contents($Image));

<img src="<?php echo $ImageSrc; ?>" />

通常,您根据使用您的网络服务器配置的 webroot 将文件路径转换为等效的 URI。由于您没有与您的问题共享它,因此只能在此处粗略显示:

$root = $_SERVER['DOCUMENT_ROOT'];
$rootLen = strlen($root);
if (substr($Image, 0, $rootLen) !== $root) {
    throw new Exception('Incompatible File');
}
$ImageSrc = substr($Image, $rootLen);

<img src="<?php echo $ImageSrc; ?>" />

请查阅您选择的 HTML 参考,以了解 HTML 图像标记的基本知识、src 的用途、它的用途、URI 是什么以及所有这些是如何工作的。在答案中向您解释所有这些内容有点过多,因此我只发布了 PHP 代码,它可能会或可能不会像您已经拥有的那样为您带来更多问题。祝你好运!

于 2012-12-20T22:31:49.710 回答