在页面上,我有:
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'])
and if (isset($_FILES['logo']['name'])
但两者似乎都不起作用。
有任何想法吗?
编辑:也许我不太清楚,我不想测试他是否上传了徽标,我想测试他是否选择了要上传的文件,因为现在,如果他没有选择要上传的文件, php 会抛出一个错误,告诉他必须以正确的格式上传。
thanks.
您可以通过以下方式检查:
if (empty($_FILES['logo']['name'])) {
// No file was selected for upload, your (re)action goes here
}
或者,您可以使用 JavaScript 构造,仅在上传字段具有空字符串 ("") 以外的值时才启用上传/提交按钮,以避免在根本不上传的情况下提交表单。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)