[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: загрузка нескольких файлов
lawbreaker
вот у меня на сайте юзер может загружать максимально 4 фотографии
имя фотографии получает дату и время
но поскольку загружаютса сразу 4 картинки... то загружаетса только одна, последняя потомучто она все другие перезаписует.

как зделать чтобы в конце каждой из етих картнок приписывалось
к картинке 1 $pic1 = rand(00000,99999);
к картинке 2 $pic2 = rand(00000,99999);
к картинке 3 $pic3 = rand(00000,99999);
к картинке 4 $pic4 = rand(00000,99999);
??
HTML
<div class="form_row">
<label class="contact"><strong>Bild Nr.1:</strong></label>
<input type=file class="contact_input" name=file>
</div>
<div class="form_row">
<label class="contact"><strong>Bild Nr.2:</strong></label>
<input type=file class="contact_input" name=file2>
</div>
<div class="form_row">
<label class="contact"><strong>Bild Nr.3:</strong></label>
<input type=file class="contact_input" name=file3>
</div>
<div class="form_row">
<label class="contact"><strong>Bild Nr.4:</strong></label>
<input type=file class="contact_input" name=file4>
</div>


PHP
// Wurde wirklich eine Datei hochgeladen?
$pic1 rand(00000,99999);
$pic2 rand(00000,99999);
$pic3 rand(00000,99999);
$pic4 rand(00000,99999);
$uploaddir 'photos/';
$uploadfile $uploaddir date("d-m-Y h-i-s");
print 
"<pre>";
if (
move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) {
    print 
"File is valid, and was successfully uploaded. ";
    print 
"Here's some more debugging info:\n";
    
print_r($_FILES);
} else {
    print 
"Possible file upload attack!  Here's some debugging info:\n";
    print 
"Possible file upload attack!  Дополнительная отладочная информация:\n";
    
print_r($_FILES);
}
print 
"</pre>";




Спустя 2 часа, 45 минут, 22 секунды (21.05.2009 - 23:46) lawbreaker написал(а):
надеюсь мне поможете smile.gif

Спустя 7 часов, 8 минут, 28 секунд (22.05.2009 - 06:54) Kuliev написал(а):
lawbreaker
Я не уверен что поможет попробуй почитать про функцию rename()/

Спустя 1 час, 1 минута, 33 секунды (22.05.2009 - 07:56) sergeiss написал(а):
Цитата (lawbreaker @ 21.05.2009 - 22:01)
вот у меня на сайте юзер может загружать максимально 4 фотографии
имя фотографии получает дату и время
но поскольку загружаются сразу 4 картинки... то загружаетса только одна, последняя потому что она все другие перезаписывает.

В коде ты загружаешь только одну картинку, а говоришь о 4-х.
Тебе надо просто проходить в цикле по всему массиву загруженных файлов $_FILES, проверять, что там было загружено. И если что-то есть, то тогда уже добавлять к имени файла дату и время, и записывать с этим именем к себе на сайт.

Спустя 2 минуты, 42 секунды (22.05.2009 - 07:59) Kuliev написал(а):
lawbreaker
Что-то типа этого
HTML
<div class="form_row">
<label class="contact"><strong>Bild Nr.1:</strong></label>
<input type=file class="contact_input" name=file[]>
</div>
<div class="form_row">
<label class="contact"><strong>Bild Nr.2:</strong></label>
<input type=file class="contact_input" name=file[]>
</div>
<div class="form_row">
<label class="contact"><strong>Bild Nr.3:</strong></label>
<input type=file class="contact_input" name=file[]>
</div>
<div class="form_row">
<label class="contact"><strong>Bild Nr.4:</strong></label>
<input type=file class="contact_input" name=file[]>
</div>


PHP
$num_pic count($_FILES['file']['name']);

   
   for (
$i=0$i $num_pic$i++)
   {
   
   if(
copy($_FILES["file"]["tmp_name"][$i],$upload.$_FILES["file"]["name"][$i]));
   }


Спустя 22 минуты, 56 секунд (22.05.2009 - 08:22) sergeiss написал(а):
Kuliev - код неправильный!!!

Меняться будет не некий абстрактный 3-й индекс массива $_FILES
Цитата (Kuliev @ 22.05.2009 - 08:59)
$_FILES["file"]["tmp_name"]
, как ты написал, а первый индекс массива!!!

И соответствовать он будет тем именам input-ов, которые будут заданы в форме.
Ежели зададим
PHP
<input type="file" name="file_1">
<
input type="file" name="file_2">
<
input type="file" name="file_3">

То и обрабатывать потом надо будет $_FILES['file_1'], $_FILES['file_2'] и $_FILES['file_3']. При этом надо будет отслеживать, было ли что-то указано в каждом конкретном инпуте.

Спустя 2 месяца, 4 дня, 14 часов, 41 минута, 12 секунд (26.07.2009 - 23:03) agentor написал(а):
интересно..существуют ли уже подобные решения.т.е..мультиуплоад картинок..(для одновременной загрузки 3-7 картинок)?

Спустя 11 часов, 48 минут, 12 секунд (27.07.2009 - 10:51) Nikitian написал(а):
Цитата (agentor @ 26.07.2009 - 20:03)
интересно..существуют ли уже подобные решения.т.е..мультиуплоад картинок..(для одновременной загрузки 3-7 картинок)?

Можно выполнить на Ajax, если интересует именно загрузка. Если интересно именно одновременный выбор файлов, то тут только флеш

Спустя 17 минут (27.07.2009 - 11:08) Guest написал(а):
Все очень просто.
Смотрите здесь.

Спустя 12 минут, 10 секунд (27.07.2009 - 11:20) Dezigo написал(а):
$_FILES['file1'] ['tmp_name']
$_FILES['file2']['tmp_name']
$_FILES['file'3]['tmp_name']
$_FILES['file4']['tmp_name']

разные файлы.
каждый загружай по отдельности. - это не оптимально а вот цикл.

PHP
$error = array();
    $file =  array();

    for ($i = 0;$i<=4;$i++)
    {
        if (move_uploaded_file($_FILES['file'.$i.'']['tmp_name'], $uploadfile)) 
        
{
               $file[] = "File uploaded $i"; 
        
}
        else 
        
{
            $error[] = "Error upload File Number: $i"; 
        
}
    }

print_r($file);
print_r($error);

п.с название файлов с 1 по 4

Спустя 11 минут, 32 секунды (27.07.2009 - 11:32) PandoraBox2007 написал(а):
хранить имена файлов по контрольной сумме md5_file() у каждого юзера своя папка

для идеальной разгрузки 4 ДНС

Спустя 59 минут, 14 секунд (27.07.2009 - 12:31) _CaXaP_ написал(а):
Если нужны готовые решения, то советую посмотреть:

сборник загрузчиков на аякс (указывать по 1 файлу, но несколько раз)
http://habrahabr.ru/blogs/jquery/50223/

на флеше (указывать сразу несколько файлов)
http://qvado.ru/2008/11/09/open-source-flash-uploader/

на яве (можно указывать сразу папку)
http://jupload.sourceforge.net/


_____________
Я Андрей и мне 14 лет :)
И ни как не дождусь когда HardWoman меня удалит
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.