【问题标题】:Loading an image through PHP通过 PHP 加载图像
【发布时间】:2012-04-15 02:12:56
【问题描述】:

我正在尝试通过 PHP 加载图像,但我不知道如何。 文件名存入数据库,如image.jpg

if($_GET['image']){
    // Client requesting image, so retrieve it from DB
    $id = mysql_real_escape_string($_GET['image']);
    $sql = "SELECT * FROM $tbl_name WHERE id = '$id' LIMIT 1";
}

客户端需要这样请求图片

http://example.com/index.php?image=1

然后它应该返回图像,所以它可以像这样嵌入:

<img src="http://example.com/index.php?image=1" alt="" />

这可能吗?

【问题讨论】:

    标签: php image mime-types


    【解决方案1】:

    您可以为此使用 GD 库。您首先使用http://php.net/imagecreatefromjpeg 之类的函数创建资源。您需要提供路径作为参数。

    之后,您只需使用http://php.net/imagejpeg 之类的函数输出资源。

    不要忘记发送内容类型标头,还要在资源上使用imagedestroy

    更新:

    考虑这个示例:

    $im = imagecreatefromjpeg('path/to/image.jpg');
    header('Content-Type: image/jpeg');
    imagejpeg($img);
    imagedestroy($img);
    

    【讨论】:

    • @safarov 如果需要进行某些修改,也许它会更容易扩展。我没有说这是唯一的方法,我只是提出了一个选项。
    【解决方案2】:
    $img = 'path/to/image.jpg';
    header('Content-Type: image/jpeg');
    readfile($img);
    

    刚刚测试过

    【讨论】:

    • 也看看readfile它“结合”了file_get_contentsecho的步骤。
    • 在打开
    【解决方案3】:

    我建议你先创建一个名为 image.php 的文件。所以你会调用 image.php?id=1

    将 image.php 标头设置为图像类型。 header('Content-Type: image/jpeg');

    然后你可以使用PHP中的GDImage库来加载图像,并输出它。或者您可以读取文件并将其输出。 header() 是关键。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多