getimagesize()警告 - 文件名不能为空

时间:2013-03-28 17:14:43

标签: php image file upload

我有一个公式,用户应该上传具有特定维度和类型的图像。 当我选择图像并单击提交按钮时,会出现警告:

  

警告:getimagesize()[function.getimagesize]:第5行的xxx.php中的文件名不能为空

检查尺寸和类型的代码对于此问题不是必需的。

<!-- language: lang-php -->
<?php
    if (isset($_POST["submit"])) {
        list($width, $height, $type, $attr) = getimagesize($_FILES["image"]["name"]);       
    } else { ?>

    <form action="#" method="post" enctype="multipart/form-data">
        <input type="file" name="image" />
        <input type="submit" name="submit" />
    </form>             
<?php } ?>

3 个答案:

答案 0 :(得分:2)

使用$_FILES["image"]["tmp_name"]代替$_FILES["image"]["name"]

答案 1 :(得分:0)

您需要将tmp文件放在那里,而不是文件名;

 list($width, $height, $type, $attr) = getimagesize($_FILES["image"]["tmp_name"]);    

答案 2 :(得分:0)

在下面的块中,您不应只检查$_POST,还应检查$_FILES的存在。您似乎没有成功将文件发送到服务器。

if(isset($_POST["submit"])) {

    list($width, $height, $type, $attr) = getimagesize($_FILES["image"]["tmp_name"]);       

}

编辑:正如其他答案所指出的,您还应该使用“tmp_name”而不是名称。