Php 如何检查是否设置了$_POST[image]
你在问 我有一个文件输入,如果我提交表格时没有图像,我希望发生一些事情如果我在输入中上传了一个文件,我希望发生一些不同的事情Php 如何检查是否设置了$_POST[image],php,mysql,file,post,isset,Php,Mysql,File,Post,Isset,你在问 我有一个文件输入,如果我提交表格时没有图像,我希望发生一些事情如果我在输入中上传了一个文件,我希望发生一些不同的事情 if (!isset($_POST[image])) { } 无论我是否在输入中上载了文件,似乎都会触发 <label> <p>Profile Picture:</p> <input type="file" name="image" value="" /> </label> 也不起作用,即使上
if (!isset($_POST[image])) { }
无论我是否在输入中上载了文件,似乎都会触发
<label>
<p>Profile Picture:</p>
<input type="file" name="image" value="" />
</label>
也不起作用,即使上传了图像,它仍然显示truthy。所以这不是我需要的答案。要检查是否上传了文件,需要检查文件的大小 然后,要检查它是否是图像,需要使用getimagesize()函数。请参见下面的脚本: HTML:
PHP:
对这两个文件执行打印
,或变量转储
并查看发生了什么。对有文件和无文件都执行此操作其$\u文件
和非$\u文件
现在发送一个警告错误:FILE\u exists()期望参数1为有效路径,数组给定,并且它也正在断开我的头();即使上传了一个文件,它仍然是真实的。当我没有放入一个文件并使用if(空($_文件['image']){它也是真实的。我必须在这里遗漏一些更大的东西吗?所以我把它改为if($_文件['image][“size”]=0){}当我上传一个文件时,它仍然是真实的。哈哈哈,太晚了,我错过了一个=,所以它当然是真实的。我想这个答案解决了我的问题,让我测试和验证,然后我会接受。
if (!file_exists($_FILE['image'])) { }
<form action="index.php?act=s" method="post" enctype="multipart/form-data">
<input type="file" name="image" id="image" value=""/>
<input type="submit">
</form>
<?php
if(isset($_GET['act'])){
// Check if there is a file uploaded
if($_FILES["image"]["size"]>0){
echo "There is a file uploaded<br>";
// Check if its an image
$check_if_image = getimagesize($_FILES["image"]["tmp_name"]);
if($check_if_image !== false) {
echo "Image = " . $check_if_image["mime"] . ".";
} else {
echo "Not an image";
}
}
else{
echo "There is NO file uploaded<br>";
}
}
?>