使用 PHP 获取图像文件路径并以 HTML 显示

Posted

技术标签:

【中文标题】使用 PHP 获取图像文件路径并以 HTML 显示【英文标题】:Get image filepath using PHP and display in HTML 【发布时间】:2016-05-29 15:43:42 【问题描述】:

我已经关注了几篇帖子并取得了进展,但我仍然无法使用位于 www/SnapShots 下我的 webroot 文件夹中的 html img src 标签显示 jpeg 图像。

我想使用 php 搜索本地 mysql 数据库并返回最新的图像文件路径。然后我想使用该文件路径来显示图像。

我尝试使用单独的 getImage.php 和 showimage.html 以及包含 php 和 html 的单个文件,我将在下面分享。目前我能够回显正确的文件路径,当手动复制并粘贴到 img src 中时,它可以工作,但是通过引用变量或 .php url 它不起作用。

网络摄像头.php:

<?php
echo '<!DOCTYPE html>';
echo '<html>';
echo '<body>';
echo '<h1>Display Recent WebCam Image</h1><br />';

//$id = $_GET['id'];
//Connect to mysql DB
$link = mysql_connect("localhost", "root", "password");
mysql_select_db("temperature_database");
//Select thew newest image filepath
$sql = "SELECT imgFilePath FROM tempLog WHERE datetime=(SELECT MAX(tempLog.datetime) FROM tempLog);";
$result = mysql_query("$sql");
$row = mysql_fetch_assoc($result);
mysql_close($link);

//header("Content-type: image/jpeg");
header("Content-type: text/plain");
$imgpath = $row['imgFilePath'];
//echo $imgpath;


echo '<img src="$imgpath", , , ><br />';
?>
</body>
</html>

我尝试了多种插入 $imgpath 变量和/或从单独的 html 页面引用它的方法,即:.

我们将不胜感激。

截至目前 webcam.php 输出以下内容,因此解释 html 标签似乎也存在问题。

<!DOCTYPE html><html><body><h1>Display Recent WebCam Image</h1><br /><img src="$imgpath", , , ><br /></body>

【问题讨论】:

【参考方案1】:

改用双引号:

// code
echo "<img src='$imgpath' alt='Most recent WebCam Shot' width='800' height='600'><br />";

PHP 不会替换单引号字符串中的变量。

更新

如果我能很好地理解您的问题,您想阅读图像的内容并将其用于&lt;img&gt; 标记中。

您必须将代码拆分为两个文件(我将简化说明):

index.html

<p>Webcam image:</p>
<img src="view_image.php">

view_image.php

<?php
$image_path = function_to_get_image_path();
header("Content-type: image/jpeg");
readfile($image_path);

这是您可以采取的方法。

我建议您从一个简单的示例开始:

创建一个包含三个文件的文件夹:

名为 image.jpg

的示例图片

一个名为 index.html 的 HTML 文件,代码如下:

<img src="view_image.php">

还有一个名为 view_image.php 的文件,其中包含以下内容:

<?php 
header("content-type: image/jpeg");
readfile("image.jpg");

请注意,您的网络服务器中必须启用 php。

【讨论】:

他不是必须逃离"s 感谢您的建议,我不知道单引号。通过该更改,同时还使用反斜杠来转义 html 标签的另一个“”,我现在收到文字 html 标记,并且在访问页面时变量被解析为正确的文本。是否有理由不解释 html? 想通了。删除标题内容类型 text/plain 后,页面现在显示图像并解释 html。我想因为我也在这个 .php 文件上使用 html,所以我不应该定义任何标题内容类型?【参考方案2】:

你也可以这样使用:

echo '<img src="'.$imgpath.'", , , ><br />';

【讨论】:

以上是关于使用 PHP 获取图像文件路径并以 HTML 显示的主要内容,如果未能解决你的问题,请参考以下文章

如何从静态后端路径在 Angular 中显示图像?

python如何获取图某一点的灰度

HTML中img标签的src填本地绝对路径无法显示

在 PHP 和 SQL 中保存图像路径

我正在尝试使用 php 和 jquery.php 变量更改 div 的背景图像,但未获取值

如何显示 pdf 或打印 pdf [关闭]