【问题标题】:Referencing a .php file from an html img src tag从 html img src 标签引用 .php 文件
【发布时间】:2014-06-25 17:53:05
【问题描述】:

在我的 getimage.php 文件中,我有一个返回图像和回显语句的函数

function getPicture(){
}
header("Content-Type: image/png");
echo getPicture(); 

然后在我的 index.html 中我有以下代码

<body>
        <img src="getimage.php" />
</body>

现在显然我知道我做错了什么,因为在 html 中它是一张破碎的图片。我假设将 src 设置为 .php 文件实际上并没有执行 getimage.php

有什么想法/帮助吗?

谢谢!

function getPicture()
    {
        $ch = curl_init();
        curl_setopt($ch,CURLOPT_URL, 'image url');
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer XXXX'));
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
        $picture = curl_exec($ch);
        curl_close($ch);
        return $picture;
    }

【问题讨论】:

  • getPicture() 返回什么?
  • 你的函数什么都不做,只是输出一个 http 图像头。由于没有实际的图像数据(例如 gif/jpg/png 文件中的字节),因此客户端没有收到任何有用的信息,并且您会得到损坏的图像。你基本上是在“我要给你发张照片”,然后走开,什么也不做。
  • 我为你们所有可爱的反对者添加了我的 getPicture 功能。感谢您查看@我的问题
  • 我以前不是一个可爱的投票者,但我现在正在考虑,因为你已经把他们叫出来了。人们只是想帮助你找到一个更好、更完整的问题,在那里你可以获得实际帮助而不是猜测。
  • 那么如果图片显示正常,说明你的代码没有问题。引用 php 图像非常普遍,尤其是在电子邮件中为了能够跟踪图像读取,图像打开时带有指示谁在打开图像的参数。所以你的代码没有问题,应该是一个简单的路径错误,恐怕 Rick D 的答案在这种情况下可能是一个很好的答案

标签: php html image


【解决方案1】:

根据 getimage.php 的位置,您可能需要指定相对 URL 路径,例如

<img src="/getimage.php" />

假设 getimage.php 位于您网站的根目录。

【讨论】:

  • 我在我的本地站点上验证了这一点。在文档根目录中,我使用上面的代码创建了 getimage.php,因此我可以在浏览器中使用getimage.local/getimage.php 访问它。 src="getimage.php" 不起作用,但 src="/getimage.php" 起作用
  • 以/开头的路径是绝对路径...你倒置了相对和绝对
  • @VincentDuprez - 以/ 开头的路径是相对于文档根目录的。绝对路径是完整路径(http://domain.ext/foobar,在 HTTP 的情况下)
  • 是的,“root relative”是我见过的“/foo/bar”的术语。 “foo/bar”是相对的,“example.com/foo/bar”是绝对的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-03
  • 1970-01-01
  • 1970-01-01
  • 2018-01-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多