Вам нужна ваша помощь. Ситуация следующая. У меня простая форма с некоторыми входами. пользователь заполняет форму и может загрузить или нет свой логотип. Но в этом коде, когда я нажимаю кнопку отправки без логотипа, есть ошибка. Итак, вопрос в том, как я могу решить эту проблему и разрешить пользователям отправлять эту форму и без загрузки файла? БОЛЬШОЕ СПАСИБО!!форма с и без загрузки файла (php)
<?
if(isset($_POST['add'])){
$title = sf($_POST['title']);
$company = sf($_POST['company']);
$city = sf($_POST['city']);
$path = '../img/logo';
// Get extension
$extension = strtolower(substr(strrchr($_FILES['logo']['name'], '.'), 1));
$blacklist = array(".php", ".phtml", ".php3", ".php4", ".html", ".htm");
foreach ($blacklist as $item)
if(preg_match("/$item\$/i", $_FILES['logo']['name'])) exit;
$type = $_FILES['logo']['type'];
$size = $_FILES['logo']['size'];
$filename = DFileHelper::getRandomFileName($path, $extension);
$target = $path . '/' . $filename . '.' . $extension;
if (($type != "image/jpg") && ($type != "image/jpeg")) exit;
if ($size > 10485760) exit;
move_uploaded_file($_FILES['logo']['tmp_name'], $target);
$jb = $mysql->prepare("INSERT INTO tb_job (j_title, j_company, j_city, j_logo) VALUES (?, ?, ?, ?)");
$jb->execute(array($title, $compnay, $city, $filename,));
echo 'OK';
Header("Refresh: 2, /jobs/cv");
}
?>
<form enctype="multipart/form-data" method="post" action="">
<input type="text" name="title" />
<input type="text" name="compnay" />
<input type="text" name="city" />
<input type="file" name="logo" />
<input type="submit" value="OK" />
</form>
вы должны поставить условие, если форма имеет логотип. например 'if (! empty ($ _ FILES))' – roullie
какие строки я должен помещать в это условие? все строки? –
Вы должны проверить, равен ли '$ _FILES ['logo'] ['error']' 'UPLOAD_ERR_NO_FILE'. Если это так, то файл не был выбран для загрузки. –