【问题标题】:Get image filepath using PHP and display in HTML使用 PHP 获取图像文件路径并以 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}", alt="Most recent WebCam Shot", width="800", height="600"><br />';
?>
</body>
</html>

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

我们将不胜感激。

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

<!DOCTYPE html><html><body><h1>Display Recent WebCam Image</h1><br /><img src="{$imgpath}", alt="Most recent WebCam Shot", width="800", height="600"><br /></body>

【问题讨论】:

    标签: php html mysql


    【解决方案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}.'", alt="Most recent WebCam Shot", width="800", height="600"><br />';
    

    【讨论】:

      猜你喜欢
      • 2015-11-30
      • 2017-01-26
      • 2012-04-09
      • 2014-02-28
      • 1970-01-01
      • 1970-01-01
      • 2021-02-05
      • 1970-01-01
      • 2014-02-12
      相关资源
      最近更新 更多