无法使用php代码在网页上传和显示图像

时间:2016-05-14 08:33:10

标签: php

当我尝试使用以下php代码上传和显示图像时,我遇到了一些问题:

<?php
header('Content-Type: bitmap; charset=utf-8');
$base=$_REQUEST['image'];
$binary=base64_decode($base);
$file = fopen('uploaded_image.jpg', 'wb');
fwrite($file, $binary);
fclose($file);
?>

图像上传并位于具有php脚本的同一文件夹中。 enter image description here

现在,如果我删除所有代码并仅用1行代替

<?php
    echo "<img src='uploaded_image.jpg' width='500' height='300'/> ";
?>  

已上传的图像显示在网页中。 然后,我将它们结合起来(上传和显示图像)。

<?php
header('Content-Type: bitmap; charset=utf-8');
$base=$_REQUEST['image'];
$binary=base64_decode($base);
$file = fopen('uploaded_image.jpg', 'wb');
fwrite($file, $binary);
fclose($file);
echo "<img src='uploaded_image.jpg' width='500' height='300'/> ";
?>

这不显示图像,似乎图像尚未上传。 enter image description here

问题是什么?如何解决?我想上传图片并在网页上显示图片。

1 个答案:

答案 0 :(得分:0)

刷新页面时没有图像,因为在这种情况下$ base = $ _ REQUEST ['image'];将为空(当您刷新页面时,您没有提供img上传数据。) 所以基本上它用空数据覆盖 uploaded_image.jpg 。 只需检查您是否为图像提供了值。在你的情况下:

if(!empty($_REQUEST['image'])) {
    $base=$_REQUEST['image'];
    $binary=base64_decode($base);
    $file = fopen('uploaded_image.jpg', 'wb');
    fwrite($file, $binary);
    fclose($file);
}
 echo "<img src='uploaded_image.jpg' width='500' height='300'/> ";