显示上一页的插入图像

时间:2014-11-11 13:54:18

标签: php image

我正在制作一个允许用户插入图片的机密网站。图像数据通过表格发送到页面verify.php。是否可以在verify.php上显示图像?我试过在网上看,但我只找到人们首先将图像插入mysql然后显示它的答案。

这是我想要显示图像的页面的代码。

$name = $_FILES["image"]["name"];
$type = $_FILES["image"]['type'];
$size = $_FILES["image"]["size"];
$temp = file_get_contents($_FILES["image"]["tmp_name"]);
$error = $_FILES['image']["error"];
echo "<img src='$temp'>"; //this displays the 
                          //binary code(I beleive that's what it s called)

3 个答案:

答案 0 :(得分:4)

$temp中的值是图像的二进制形式!所以你可以base64_encode()并以这种方式显示它:

echo "<img src='data:image/png;base64," . base64_encode($temp) . "'>";

答案 1 :(得分:0)

您需要使用move_uploaded_file方法并将图像存储在服务器的公共目录中的某处:

$name = $_FILES["image"]["name"];
$uploads_dir = '/uploads';
$tmp_name = $_FILES["image"]["tmp_name"]
move_uploaded_file($tmp_name, "$uploads_dir/$name");
echo "<img src=\"$uploads_dir/$name\">";

答案 2 :(得分:0)

有三种可能性:

方法1: 告诉您的浏览器veryfy.php是一张图片。这适用于

header("Content-type: image/png");

或任何其他图像类型(取决于您的结果)。 但是,此方法不允许您同时发布文本。

方法2: 保存图片(在数据库或文件服务器上),然后使用&lt; img ...&gt;

加载它

方法3: 使用base64编码:

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA...">

但是,这个应该只用于小文件,因为它会减慢页面的加载速度。更多信息:Embedding Base64 Images