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


Error in image upload using PHP GD Library

我不是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>

上述代码的输出如下:

温度=
名称=image1.jpg
宽度=4440
高度=3294

请告诉我我做错了什么?

$_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'] 中得到结果