Есть вот такой код:
<?php
foreach ($_POST as $index => $value) {
$$index = $value;
}
$uploaddir = './files/';
for ($i=0; $i<=count($_FILES); $i++) {
$uploadFile = $uploadDir.basename($_FILES['userFile']['name'][$i]);
if (copy($_FILES['userFile']['tmp_name'][$i], $uploadFile))
{
echo "<h3>Файл успешно загружен на сервер</h3>";
}
else { echo "<h3>Ошибка! Не удалось загрузить файл на сервер!</h3>";}
}
?>
<form action="mce.php" method="post" enctype="multipart/form-data">
<input name="userFile[]" type="file" multiple><br>
<input type="submit" value="Загрузить">
</form>
По идее должно загружать много файлов, но больше двух файлов не грузит. Я понимаю, что какая то ошибка в цикле, но что то не могу сообразить как исправить. Что не так?
В вашем примере count($_FILES)
всегда будет единичкой, так как $_FILES['userfile']
будет содержать подмассив информации о нескольких файлах, а не сам $_FILES
.
Также ошибка в этой строке $i < count($_FILES['userFile']['name']
, у вас стояло <=
, но надо ставить просто знак меньше, так как отчет от нуля.
Ну и применяйте move_uploaded_file, по крайней мере по этому пути пошли разработчики.
<form action="uploadfiles.php" enctype="multipart/form-data" method="post">
<input type="file" name="userFile[]" multiple>
<input type="submit" name="submit">
</form>
<?php
if (isset($_POST['submit'])) {
$uploaddir = __DIR__ . '/files/';
for ($i = 0; $i < count($_FILES['userFile']['name']); $i++) {
$uploadFile = $uploaddir . basename($_FILES['userFile']['name'][$i]);
echo $uploaddir . basename($_FILES['userFile']['name'][$i]);
if (move_uploaded_file($_FILES['userFile']['tmp_name'][$i], $uploadFile)) {
echo "<h3>Файл успешно загружен на сервер</h3>";
} else {
echo "<h3>Ошибка! Не удалось загрузить файл на сервер!</h3>";
}
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Задача состоит в получении изменённых областей экрана с большой скоростьюНасколько известно мне, для этого используются mirror драйвера
Доброго времени суток! С принципом создания анимации из изображения я знаком, а есть способы использовать gif для воспроизведения анимации...
В строку вводятся n чисел, n неизвестноКак лучше реализовать подобный ввод массива?
Пишу алгоритм бинарной сортировки (в целях обучения)Компилятор - MinGW-w64 с флагом оптимизации -o0