У меня есть форма, которая отправляет текстовые вводы и иногда файлы. У меня проблема с ситуациями, когда файлы не загружаются. В настоящее время, если файл не включен в отправку формы, я получаю следующую ошибку:
Примечание PHP: неопределенный индекс: uploadedFile
Ошибка напрямую связана сэта строка кода:
$file_count = count($_FILES['uploadedFile']['name']);
Я знаю, что говорит ошибка. Мой вопрос заключается в том, могу ли я заранее определить количество файлов на 0, если файл не загружен в javascript, который можно перевести на PHP. Или есть способ проверить, установлен ли он перед запуском $file_count
?
Однако в сценарии встречается больше случаев. Буду ли я ставить оператор if сразу после объявления функции?
public function upload() {
$file_count = count($_FILES['uploadedFile']['name']);
$results = [];
for ($i = 0; $i<$file_count; $i++) {
//echo $file['uploadedFile']['name'][$index] . "\n";
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["uploadedFile"]["name"][$i]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file, PATHINFO_EXTENSION));
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
return 0;
// if everything is ok, try to upload file
} else {
if (move_uploaded_file($_FILES["uploadedFile"]["tmp_name"][$i], $target_file)) {
$results[] = basename($_FILES["uploadedFile"]["name"][$i]);
} else {
return 0;
}
}
}
return $results;