使用PHP GD Library上传图像时出错

时间:2015-02-23 11:52:33

标签: php image forms upload gd

我不是PHP专家,但我试图使用GD库上传图像文件,但我的代码显示错误。然后我试图回显输出,但它没有显示图像文件的临时位置。

这是我的代码:

if(isset($_REQUEST['upload_btn'])){
$filename = $_FILES['file_upload']['name'];
list($w,$h)= getimagesize($filename);
$imgString = $_FILES['file_upload']['tmp_name'];
echo "Temp = $imgString <br>";
echo "Name = $filename <br>";
echo "Width = $w <br>";
echo "Height = $h";
}

这是我的HTML代码:

<form enctype="multipart/form-data" method="post" target="_self" >
<input type="file" id="upload" name="file_upload" />
<input type="submit" value="upload" name="upload_btn" />
</form>

以上代码的输出如下:

  

Temp =
Name = image1.jpg
宽度= 4440
高度= 3294

请告诉我我做错了什么?

1 个答案:

答案 0 :(得分:2)

$_FILES['file_upload']['name']只是文件的名称。哪个在服务器上实际上是不可用的。除非您在move_uploaded_file()方法的帮助下移动temp_file。您必须使用$_FILES['tmp_name'],这实际上是上传的文件。

    <?php 
    if(isset($_REQUEST['upload_btn'])){
    $filename = $_FILES['file_upload']['name'];
    $imgString = $_FILES['file_upload']['tmp_name'];
    list($w,$h)= getimagesize($imgString);

    echo "Temp = $imgString <br>";
    echo "Name = $filename <br>";
    echo "Width = $w <br>";
    echo "Height = $h";
    }
    ?>

仅在文件上传成功时才会出现这种情况。如果上传不成功,则会引发错误,这将是一个可以从

访问的错误号
$_FILES['file_upload']['error']

如果为0则表示您的上传成功。否则上传失败。然后,您将无法在$_FILES['file_upload']['tmp_name']

中获得结果