Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Загрузка нескольких файлов на сервер.Что не так?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Не удается загрузить несколько файлов на сервер.
mmmoi09
Отправлено: 30 Июня, 2012 - 14:36:12
Post Id


Новичок


Покинул форум
Сообщений всего: 18
Дата рег-ции: Июнь 2012  


Помог: 0 раз(а)




Есть форма загрузки нескольких файлов
<form action="<?php $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data">
<input type="file" name="uploadimg[]" /><br />
<input type="file" name="uploadimg[]" /><br />
<input type="file" name="uploadimg[]" /><br />
<br/>
<input type="submit" value="Загрузить файл!" />
</form>

Есть простой обработчик

//сохр.массив файлов
function SaveArrayImg($f,$path_to_files = "img/"){

$good_name = $f['name'];

if (sizeof($good_name) != 0) { // если массив файлов не пустой
foreach ($good_name as $key => $n) {
$type = $f['type'][$key];
$tmp_name = $f['tmp_name'][$key];
$size = $f['size'][$key];
$basename = basename($n);
$uploadfile = $path_to_files.date("d.m.y,His_").$basename;
if (move_uploaded_file($tmp_name, $uploadfile)) {
echo "Файл был успешно загружен.\n";

return $uploadfile ;
}else {
echo "Не загрузилось!\n";
return false;}
}
}
}

Не могу понять,почему загружается файл только с первого поля input ,а с других - нет ?
 
 Top
Wol_fi
Отправлено: 01 Июля, 2012 - 05:31:38
Post Id


Новичок


Покинул форум
Сообщений всего: 60
Дата рег-ции: Февр. 2012  


Помог: 2 раз(а)




вы делаете return в первой же итерации цикла, собственно по этому один файл и загружает, а потом выходит из цикла. В данном случае лучше результаты записывать в массив и его уже возвращать вне тела цикла. То есть return внутри цикла тоже самое что и break .

(Отредактировано автором: 01 Июля, 2012 - 05:32:19)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с файловой системой и файлами »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB