繁体   English   中英

显示一个<img>来自 php(问题)

[英]display a <img> from php( problem)

我想在里面返回一个链接到<img> 我不知道是什么问题。

类别.php

<HTML>....
<img  src="categoriaMAIN.php?type=celular">
</HTML>

类别MAIN.php

<?php
$varcate= $_GET['type'];
if ($varcate == "celular")
   echo "http://ecx.images-amazon.com/images/I/41l1yyZuyXL._AA160_.jpg";
?>

类别MAIN.php

<?php

  switch ($_GET['type'])
  {
    case 'celular':
      header('Location: http://ecx.images-amazon.com/images/I/41l1yyZuyXL._AA160_.jpg');
      break;
    case '...':
      header('Location: http://somesite.com/some/img/path/image.jpg');
      break;
    //...
  }

其他人似乎都提供了 readfile/grab 并转发了 content 方法。 我以为我会让 HTTP 协议为我们完成工作。

嗯,img 标签指向的是文本,而不是图像。

尝试:

header("Content-Type: image/jpg"); //tell the browser that this is an image.
$varcate= $_GET['type']; // you know this part
if ($varcate == "celular")
{
   // readfile will grab the file and then output its contents without 
   // procressing it.
   readfile("http://ecx.images-amazon.com/images/I/41l1yyZuyXL._AA160_.jpg");
}

一点警告:如果你没有 output 在这里的图像,那么浏览器可能会抱怨它试图加载的图像。 您应该添加一个默认值。

编辑

Kristian 指出这对服务器来说是很多工作,他是对的。 如果你能设法使 img 标签的 src 直接更改,那就更好了。 然而,上面的内容会让你到达你要求 go 的地方,尽管它可能不是最好的选择。

img标签必须指向实际图像——而不是包含 URL 的网页。

<img src="categoriaMAIN.php?type=celular">

必须得到评估

<img src="http://ecx.images-amazon.com/images/I/41l1yyZuyXL._AA160_.jpg">

现在不是这样。 如何做到这一点,很大程度上取决于您的源代码的 rest 以及您实际要完成的工作。

这行不通! <img src=""搜索图像文件,而不是它的位置:试试这个:

类别.php

<?php $varcate='celular'; ?>
<html>....
<img src="<?php include('categoriaMAIN.php'); ?>">
</html>

类别MAIN.php

<?php
if ($varcate == "celular")
   echo "http://ecx.images-amazon.com/images/I/41l1yyZuyXL._AA160_.jpg";
?>

你给img一个 PHP 页面作为它的src 所以浏览器期望 PHP 页面返回图像。 相反,您让该页面简单地将 URL 返回到图像。 你必须改变它,这样你才能真正echo图像数据。 我对这一切有点生疏,但我认为你会做以下事情:

<?php
$varcate = $_GET['type'];
if ($varcate == 'celular') {
    header('Content-type: image/jpg');
    echo file_get_contents('http://ecx.images-amazon.com/images/I/41l1yyZuyXL._AA160_.jpg');
}
?>

如果你真的想这样做,你的categoriaMAIN.php需要看起来更像:

<?php
$varcate = $_GET['type'];
if ($varcate == "celular") {
    header("Content-Type: image/jpeg");
    echo file_get_contents("http://ecx.images-amazon.com/images/I/41l1yyZuyXL._AA160_.jpg");
}
?>

这将获取实际的图像数据并将其作为图像返回给浏览器,这正是浏览器所需要的。

尝试显示来自 PHP 脚本的回显图像和 ` <img src="“…”`" tag< div><div id="text_translate"><p> 目标:</p><p> 1)我在 web 根目录之外有一个图像文件夹,其中放置了来自 web 应用程序的所有图像(每个图像路径都保存在数据库表中);</p><p> 2) 我想根据用户的请求获取该图像。</p><p> 很简单,对吧?</p><p> 我做了:</p><p> a) 创建一个 class 来读取图像(具有我记得的所有安全功能和保护措施)。 它(成功地)返回使用相应的 mime 类型编码(base64)的图像。</p><p> b) 出于演示目的,我创建了一个 index.php,它具有:</p><p> &lt;img src="agivenscript.php?img=name.jpeg"&gt;</p><p> 我在这里唯一的目标是从我的 web 应用程序中的任何其他地方调用一个脚本,该脚本输出具有相应 mime 类型的 base64 编码图像。</p><p> c) 创建了一个脚本“agivenscript.php”,它通过 GET 接收图像名称,实例化我的 class 并在一切顺利时获取 base64 编码图像。 然后它与图像相呼应。</p><p> 怎么了:</p><ul><li> 当我做 output - 使用 echo '&lt;img src="'. $output64encodedwithmimetype. '"&gt;'; - 在 agivenscript.php 中,它就像一个魅力;</li><li> 此外,如果我将 $output64encodedwithmimetype 内容直接放在 index.php 的 src 标记中,它也可以工作。</li><li> 但是,当我尝试&lt;img src="agivenscript.php?img=name.jpeg"&gt;时它不起作用。</li></ul><p> 由于 base64 编码的图像显然很好(并且具有 mime 类型),我错过了什么? 任何想法?</p><p> 预先感谢。</p></div>

[英]Trying to display an echoed image from a PHP script in and `<img src=“…”` tag

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 使用php无法显示数据库中的img 在PHP和MySQL中显示URL中的img php img悬停并显示到其他img标签中 来自 getImage.php 的图像不会显示在 img src 中 尝试显示来自 PHP 脚本的回显图像和 ` <img src="“…”`" tag< div><div id="text_translate"><p> 目标:</p><p> 1)我在 web 根目录之外有一个图像文件夹,其中放置了来自 web 应用程序的所有图像(每个图像路径都保存在数据库表中);</p><p> 2) 我想根据用户的请求获取该图像。</p><p> 很简单,对吧?</p><p> 我做了:</p><p> a) 创建一个 class 来读取图像(具有我记得的所有安全功能和保护措施)。 它(成功地)返回使用相应的 mime 类型编码(base64)的图像。</p><p> b) 出于演示目的,我创建了一个 index.php,它具有:</p><p> &lt;img src="agivenscript.php?img=name.jpeg"&gt;</p><p> 我在这里唯一的目标是从我的 web 应用程序中的任何其他地方调用一个脚本,该脚本输出具有相应 mime 类型的 base64 编码图像。</p><p> c) 创建了一个脚本“agivenscript.php”,它通过 GET 接收图像名称,实例化我的 class 并在一切顺利时获取 base64 编码图像。 然后它与图像相呼应。</p><p> 怎么了:</p><ul><li> 当我做 output - 使用 echo '&lt;img src="'. $output64encodedwithmimetype. '"&gt;'; - 在 agivenscript.php 中,它就像一个魅力;</li><li> 此外,如果我将 $output64encodedwithmimetype 内容直接放在 index.php 的 src 标记中,它也可以工作。</li><li> 但是,当我尝试&lt;img src="agivenscript.php?img=name.jpeg"&gt;时它不起作用。</li></ul><p> 由于 base64 编码的图像显然很好(并且具有 mime 类型),我错过了什么? 任何想法?</p><p> 预先感谢。</p></div> 使用php通过传递给html来显示图像img标签包含从php传递的变量 从PHP和andriod studio编码时的Json对象img url问题 PHP函数显示问题 PHP和MySQL显示问题 MySQL和PHP显示问题?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM