在页面上,我有:
if (!empty($_FILES['logo']['name'])) { $dossier = 'upload/'; $fichier = basename($_FILES['logo']['name']); $taille_maxi = 100000; $taille = filesize($_FILES['logo']['tmp_name']); $extensions = array('.png', '.jpg', '.jpeg'); $extension = strrchr($_FILES['logo']['name'], '.'); if(!in_array($extension, $extensions)) { $erreur = 'ERROR you must upload the right type'; } if($taille>$taille_maxi) { $erreur = 'too heavy'; } if(!empty($erreur)) { // ... } }
问题是,如果用户希望在不上载LOGO的情况下编辑信息,则会引发错误:“必须上载正确的错误类型”
因此,如果用户没有在输入框中放入任何东西来上传它,我就不想输入这些条件测试。
我测试: if (!empty($_FILES['logo']['name'])和if (isset($_FILES['logo']['name'])
if (!empty($_FILES['logo']['name'])
if (isset($_FILES['logo']['name'])
但两者似乎都不起作用。
有任何想法吗?
编辑:也许我不太清楚,我不想测试他是否上传了徽标,我想测试如果他选择了要上传的文件,因为现在,如果他没有选择要上传的文件, php引发错误,提示他必须以正确的格式上传。
谢谢。
您可以使用以下方法进行检查:
if (empty($_FILES['logo']['name'])) { // No file was selected for upload, your (re)action goes here }
或者,您可以使用Javascript结构,仅在上载字段具有除空字符串(“”)之外的其他值时才启用上载/提交按钮,从而避免提交完全不上载的表单。