我有一个公式,用户应该上传具有特定维度和类型的图像。 当我选择图像并单击提交按钮时,会出现警告:
警告: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 } ?>
答案 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”而不是名称。