#php #html
#php #HTML
Вопрос:
У меня есть форма ниже, которую я пытаюсь использовать для извлечения некоторых деталей в базу данных MySQL. Однако при попытке получить файл в форме все всегда отображается как null. Я не совсем уверен, почему это происходит, поэтому буду признателен за любую помощь!
<form method="post" action="myfile.php" enctype="multipart/form-data">
<table class="form-table">
<tr>
<td><b>Document (Optional)</b></td>
<td>
<select name="d" class="form-control input input-sm">
<option value="companyDoc">Company Registration Form</option>
<option value="businessCard">Business Card</option>
</select>
</td>
</tr>
<tr>
<td><b>Upload Document (Optional)</b></td>
<td><input type="file" class="form-control input input-sm" id="ud" name="ud"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Submit" name="submit" class="btn btn-primary pull-right"></td>
</tr>
</table>
</form>
Теперь мой фрагмент php ниже, где я пытаюсь вызвать результаты формы в том же файле, что и html.
if(isset($_POST['submit']))
{
$target_dir = "../../public_html/clientarea/docs/";
$fileName = basename($_FILES["ud"]["name"]);
$target_file = $target_dir . $fileName;
if($fileName!="") {
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
$errorMsg = "";
if (file_exists($target_file)) {
$errorMsg = "Some file already exists. ";
$uploadOk = 0;
} else {
if (move_uploaded_file($_FILES["ud"]["tmp_name"], $target_file)) {
$errorMsg = "The file ". basename( $_FILES["ud"]["name"]). " has been uploaded. ";
} else {
$errorMsg = "There was an error uploading your some of the file.";
}
}
}
}
Комментарии:
1. Что именно выдает значение null? Вы проверили
$_FILES['ud']['error']
?
Ответ №1:
Протестировал ваш HTML и PHP код. С $_FILES['ud']['name']
для получения имени файла сработало просто отлично.
Вы можете попытаться print_r($_FILES)
или, возможно print_r($_FILES['ud'])
, узнать значения вашей формы, которые вы отправили с помощью метода POST.