需要你的幫助。 情況如下。我有一些簡單的輸入。 用戶填寫表單並可以上傳或不上傳他的標識。但在這段代碼中,當我按提交按鈕沒有標誌有一個錯誤。所以,問題是我該如何解決這個問題,並允許用戶提交此表單,而不需要上傳文件?非常感謝!!窗體有和沒有上傳文件(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'。如果是,則沒有文件被選擇上傳。 –