将图像存储在变量中,稍后回显

app*_*tix 4 php variables store echo

假设我让用户输入图像的 URL。

在 URL 验证等之后,我想获取图像并将其存储在 PHP 变量中。不是图像路径,而是实际图像本身。

我在其他字符串之间添加了这个图像保持变量,所以header()在回显图像之前我不能改变使用。是否可以使用<img>HTML 标签?我真的不想将图像复制到我自己的服务器...

我如何能:

  1. 将图像存储在一个变量中,使得,
  2. 从变量中回显图像而不更改标题。

编辑:

我在上面说过我将此图像放入另一个变量中,例如:

$str = "blah blah" . $var_holding_img . "more text";
Run Code Online (Sandbox Code Playgroud)

是否可以在上面的字符串中插入一些将被图像替换的内容?可以$str稍后解析变量以用图像替换一些随机文本,如“abg30j-as”...

app*_*tix 5

我找到了我自己问题的答案:

首先,我创建了另一个 PHP 文件,名为img.php

<?php
$url = $_GET['imgurl'];
/*
Conduct image verification, etc.
*/
$img_ext = get_ext($url); //Create function "get_ext()" that gets file extension
header('Content-type: image/' . $img_ext);
echo file_get_contents($url);
?>
Run Code Online (Sandbox Code Playgroud)

然后,在原来的 PHP 文件中,我使用了这个 PHP 代码:

<?php
$var_holding_img = '<img src="img.php?imgurl=http://example.com/image.png"/>';
$string = "This is an image:<br \>" . $var_holding_img . "<br \>displayed dynamically with PHP.";
echo $string;
?>
Run Code Online (Sandbox Code Playgroud)

这样,PHP 文件“img.php”可以使用正确的标题,图像可以作为 HTML 插入到任何其他 PHP 变量中。