检查是否传递了$ _FILES或$ _POST

时间:2015-11-20 19:04:06

标签: php post

我有一个网站,你可以 上传图片或上传一些文字。你不能做到这两点。然后我将传递哪一个上传到php文件。什么是检查哪一个通过的最好,最有效的方法?

首先想到的是创建变量$_FILES$_POST,然后检查一个是否为空。如果$_FILES为空,则表示文本已传递给php。

这不会起作用,因为如果用户确实上传了图片,但出于某种原因它没有通过。然后php会认为文本已经通过,而且它不会工作。

如何检查已通过的$_POST$_FILES

1 个答案:

答案 0 :(得分:2)

您可以使用具有混合条件的&&运算符执行此操作:

if(!empty($_POST['var']) && !empty($_FILES['file'])){ 
   echo "You can't do both"; 
}

elseif(!empty($_POST['var']) && empty($_FILES['file'])){
   echo "Allowed";
}

elseif(!empty($_FILES['file']) && empty($_POST['var'])){
   echo "Allowed";
}

else{
   echo "Choose at least one";
}