使用 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 不会替换单引号字符串中的变量。
更新
如果我能很好地理解您的问题,您想阅读图像的内容并将其用于<img>
标记中。
您必须将代码拆分为两个文件(我将简化说明):
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 显示的主要内容,如果未能解决你的问题,请参考以下文章