Я пытаюсь создать сценарий многофайловой загрузки для нескольких галерей изображений, и я столкнулся с странной ошибкой.Несколько форматов загрузки файлов не отправляются
Поскольку у меня есть несколько галерей, у которых все есть свои собственные каталоги, я хочу сказать сценарий, где разместить мои загруженные файлы. Таким образом, я добавил несколько переключателей, чтобы удовлетворить эту потребность. Когда я загрузить файлы, они обрабатываются код, поставляемый вместе с помощью следующей формы:
<?php
/* upload.php */
if(isset($_GET['upload']) && isset($_POST['loc'])){
$loc = $_POST['loc'];
$dir = getDir($loc); //Returns the directory to upload to, -1 on invalid input
if($dir != -1){
$i = 0;
foreach($_FILES as $file){
foreach($file as $key=>$v){
foreach($v as $f){
$files[$i][$key] = $f;
$i++;
}
$i=0;
}
}
foreach($files as $file)
uploadImage($file,$dir); //Uploads files to proper directory
}else{
print "Bad user! Don't alter things!";
}
}elseif(!isset($_POST['loc']) && isset($_POST['submit'])){
/* I should end up here if no location is supplied and the form is submitted */
print "Enter a location please";
}
?>
<form action="upload.php?upload" method="post" enctype="multipart/form-data">
<label for="file">Image:</label>
<input type="file" name="files[]" id="file" multiple="multiple" required><br />
<label for="dir1">Directory 1</label>
<input type="radio" name="loc" id="dir1" value="1"><br />
<label for="dir2">Directory 2</label>
<input type="radio" name="loc" id="dir2" value="2"><br />
<label for="dir3">Directory 3</label>
<input type="radio" name="loc" id="dir3" value="3"><br />
<input type="submit" name="submit" value="Upload">
</form>
Файла разбора самого работает, поэтому я не поставлю код для вызова функций. То, что не работает (всегда), - это размещение моей формы. Если я попытаюсь загрузить 35 файлов, все будет хорошо работать, и мои изображения будут загружены в правильный каталог. Если я попытаюсь загрузить 40 файлов, сценарий не будет запущен. Поскольку я вижу, что установлено $_GET['upload']
, я могу сделать вывод, что $_POST['loc']
нет. Что странно, так как форма, явно представленная как $_GET['upload']
, была установлена, как указано в действии формы. «Введите местоположение пожалуйста» не отправляется, когда я получаю эту ошибку, поэтому я знаю, что $_POST['submit']
не размещен ни в одном. Если I var_dump
любая из двух переменных возвращает NULL
.
Я уже увеличил upload_max_filesize
, max_file_uploads
и max_execution_time
в моем файле php.ini, поэтому проблем не должно быть, и у меня все из идей. Поэтому мой вопрос в том, почему это происходит и что я могу с этим поделать?