2015-10-01 3 views
1

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

Notice: Undefined offset: 1 in C:\xampp\htdocs\FreeCheese\news_parse.php on line 54

Примечание:

Число после «Undefined смещение : ', в этом случае установлено значение' 1 '. Когда я решил вставить больше полей файла на страницу, этот номер становится тем, что число текущих полей файла читается PHP.

EG: У меня есть три поля файла, ошибка будет затем стать:

Notice: Undefined offset: 3 in C:\xampp\htdocs\FreeCheese\news_parse.php on line 54

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

Если кто-нибудь может помочь мне исправить эту ошибку, тогда это будет очень признательно.

Спасибо заранее, богатые

Вот мой код:

// Set the array object to 0 when entering the loop. 
$i = 0; 
while ($_FILES['upload1']['tmp_name'][$i]) { 
$imgName1 = preg_replace("#[^a-z0-9.]#i", "", $_FILES['upload1']['name'][$i]); 

// Applies a unique number before the file name to prevent files from overwriting. 
$imgName1 = mt_rand(100000, 999999).$imgName1; 

// Moves the image into the images/ folder 
move_uploaded_file($imgTmp1[$i], "images/$imgName1"); 

// Sets the next array object in the loop to 1 etc etc 
    $i ++; 
} 

ответ

2

Если есть 5 файлов, то $_FILES['upload1']['tmp_name'][5] не существует, поэтому while состояние аварии (это не return false!) ... Вы должны проверить count($_FILES['upload1']['tmp_name'])!

$nbFiles = count($_FILES['upload1']['tmp_name']); 
while ($i < $nbFiles) { 
    [...your code...] 
    $i++; 
} 

Вы также должны использовать for цикл, так как это сделано для того, что вам нужно:

$nbFiles = count($_FILES['upload1']['tmp_name']); 
for ($i=0; $i < $nbFiles; $i++) { 
    [...your code...] 
} 
+0

Ты красивый человек. Приветствует человек. > _ <Я приму ваш ответ за 9 минут, спасибо за быстрый ответ. –

+0

Ирония - это случайный парень @Filthy_Rich –

+0

Как вы думаете, было бы безопасно использовать SQL-запрос в этом цикле while для вставки пути к базе данных? –

Смежные вопросы