如何检查是否设置了 $_POST[image]
How to check if $_POST[image] is set
重新询问how to check if $_POST[FILE] isset
我有一个文件输入,如果我提交没有图像的表单,我希望发生一些事情如果我在输入中上传一个文件,我希望发生一些不同的事情。
if (!isset($_POST[image])) { }
似乎无论我是否在输入中上传文件都会触发。
<label>
<p>Profile Picture:</p>
<input type="file" name="image" value="" />
</label>
我的最后一个问题被标记为与此答案重复 Check whether file is uploaded 然而
if (!file_exists($_FILE['image'])) { }
也没有用,即使上传了图片,它仍然显示真实。所以不是我需要的答案。
检查是否有文件上传,需要检查文件的大小。
然后要检查它是否是图像,您需要使用 getimagesize() 函数。请参阅下面的脚本:
HTML:
<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:
<?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>";
}
}
?>
重新询问how to check if $_POST[FILE] isset 我有一个文件输入,如果我提交没有图像的表单,我希望发生一些事情如果我在输入中上传一个文件,我希望发生一些不同的事情。
if (!isset($_POST[image])) { }
似乎无论我是否在输入中上传文件都会触发。
<label>
<p>Profile Picture:</p>
<input type="file" name="image" value="" />
</label>
我的最后一个问题被标记为与此答案重复 Check whether file is uploaded 然而
if (!file_exists($_FILE['image'])) { }
也没有用,即使上传了图片,它仍然显示真实。所以不是我需要的答案。
检查是否有文件上传,需要检查文件的大小。
然后要检查它是否是图像,您需要使用 getimagesize() 函数。请参阅下面的脚本:
HTML:
<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:
<?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>";
}
}
?>