Как заставить файл входного типа отправлять пустую строку вместо нуля, когда файл не выбран - PullRequest
0 голосов
/ 21 декабря 2018

когда выбран файл, он отправляет свой файл, но когда ничего не выбрано, я хочу, чтобы он отправил пустую строку или что-нибудь пустое, чтобы я все еще мог его распознать.

Мне это нужно, когда в случаеЯ хочу отредактировать некоторые данные массива с помощью файла, просто скажем, что есть 2 типа данных: data 1 => $_POST['name'][$i], $_FILES['file'][$i], data 2 => $_POST['name'][$i], $_FILES['file'][$i]

, если все 2 данных выбрали новый файл, тогда все в порядке,но как, если выбран только один файл, просто скажите, что это индекс [1].когда я делаю циклы для получения всех данных, тогда они не соответствуют длине $_POST['name'], и я не знаю, из какого индекса исходит выбранный файл.

Почему мне нужно отправить пустое, вместо нуля это так *Длина 1011 * может соответствовать длине $_POST['name'].Так что я могу правильно выполнить цикл

Ответы [ 2 ]

0 голосов
/ 21 декабря 2018

Я думаю, что это плохая практика.Если вы хотите сделать это, вам нужно установить для всех $_FILES['file'] значение по умолчанию, чтобы создать массив $_FILES.Таким образом, вы можете получить все 5 $_FILES и в цикле вы можете распознать пустой файл с этим значением по умолчанию.Другое, что вы можете сделать, это присвоить $_FILES другому имени, например следующим,

$_FILES['file1'];
$_FILES['file2'];
...
$_FILES['file5'];

Цикл будет по умолчанию,

for ($i = 1; $i <= 5; $i++) { ...

Получить файл с помощью

$file = $_FILES['file' . $i];

Проверка состояния пустого файла,

if (!empty($_FILES['file' . $i]['name'])) { ...

Я думаю, что этот способ лучше, чем установка значений по умолчанию.Надеюсь, это поможет.

Редактировать: Не используйте isset, потому что $_FILES всегда устанавливается с NULL.Лучше всего проверить имя пустым или нет.

0 голосов
/ 21 декабря 2018

Просто во время зацикливания поместите функцию isset в имя и файл, чтобы она не учитывалась, если она пуста

if (isset($_POST['name'][$i])){
...
}
if (isset($_FILES['file'][$i])){
...
}

надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...