Загрузка файлов на сервер.

Статус
В этой теме нельзя размещать новые ответы.

Mark&Ameli

Новичок
Загрузка файлов на сервер.

Добрый день.
Есть у меня такая форма:
PHP:
     <form enctype='multipart/form-data' name'stat' method='post' action='file.php'>
     <input type='hidden' name='MAX_FILE_SIZE' value='1000000'>
     <input type='file' name='userfile'>
     <INPUT type=SUBMIT VALUE=отправить>
Есть такой обработчик:
PHP:
$userfile = $_FILES['userfile']['tmp_name'];
$userfile_name = $_FILES['userfile']['name'];
    $upfile = 'c:/pic/'.$userfile_name;
    if (file_exists($upfile)) {
        echo 'Файл уже существует...';
        }
        elseif (is_uploaded_file($userfile)) {
            if (filesize($userfile) > 2000000) {

            }
            elseif (!move_uploaded_file($userfile, $upfile)) {

            }
            else {

            };
    };
Я уже весь извелся. Как вставить не одну, а 10 таких форм, быд обработчик их все сохранял. Незнаю, много чего пробывал, никак не соображу... Помогайте, кто знает...
 

Mark&Ameli

Новичок
Panchous
Еще не до конца дочитал, но проблема кажется решена... Сейчас проверю. Спасибо :)

-~{}~ 08.06.06 18:03:

Нет, все-таки не разобрался. При форме с множеством загрузок вылазит ошибка: Array to string conversion in z:\home\www.uspih.lviv.ua\www\test\file.php on line 4
Обработчик выглядит так:
PHP:
$uploaddir = 'c:/pic/';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir .
        $_FILES['userfile[]']['name[]'])) {
    print "File is valid, and was successfully uploaded.";
} else {
    print "There some errors!";
}
В статье по этому поводу ничего не нашел... И чего делать?
 

Mark&Ameli

Новичок
chisto_tolyan
Не, сорри, это я просто эксперементировал, а потом вырезал, и сюда вставил... Реальный вариант такой:
PHP:
$uploaddir = 'c:/pic/'; 
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . 
        $_FILES['userfile']['name'])) { 
    print "File is valid, and was successfully uploaded."; 
} else { 
    print "There some errors!"; 
}
 

chisto_tolyan

Враг народа
ну вот когда делаешь аплод нескольких файлов, сделай print_r($_FILES); и посмотри, в каком виде приходит массив
 

Mark&Ameli

Новичок
chisto_tolyan
Ну посмотрел: Array ( [userfile] => Array ( [name] => Array ( [0] => 7.jpg [1] => OpelAsrtaF.jpg ) [type] => Array ( [0] => image/pjpeg [1] => ) [tmp_name] => Array ( [0] => /tmp\phpDA.tmp [1] => ) [error] => Array ( [0] => 0 [1] => 2 ) [size] => Array ( [0] => 5288 [1] => 0 ) ) ), только мне от этого не легче... А как должно быть?
 

Panchous

Павел
видимо, так и должно быть)
остается правильно обработать пришедшие данные....
(согласно увиденной структуре)
 

chisto_tolyan

Враг народа
структура массива ни на что не наталкивает?
подсказка:
$_FILES['userfile']['name'] = Array
вобщем, проходить по массиву надо
 

Mark&Ameli

Новичок
Panchous
chisto_tolyan
Вот честно признаюсь... Не люблю я массивы, и незнаю их... :(
 

Mark&Ameli

Новичок
chisto_tolyan
Спасибо конечно, но лучше бы на русском... :(

Panchous
Погляжу, почитаю...
 

Фанат

oncle terrible
Команда форума
имя поля должно быть не userfile[], а userfile1 и далее по порядку
 

Фанат

oncle terrible
Команда форума
я ясно написал. возьми да прочти
и подключи, наконец, голову
 

Mark&Ameli

Новичок
Фанат
Ну в общем написано понятно, только вот в примере в статье, написано именно userfile[]. К тому же, если поствить userfile1 и так далее, то обработчик принимает только файлы с названиями 1,2,3 и так далее...
 

Фанат

oncle terrible
Команда форума
выкинь пример
делай как я сказал.
в обработчике - foreach ($_FILES as $userfile)
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху