Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> загрузка нескольких файлов на сервер 
V
    Опции темы
Risyaalex
Дата 9.1.2011, 02:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Все идет по плану...
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 22.7.2010

Репутация: нет
Всего: нет



есть форма загрузки для 3х фото - они не обязательны для загрузки. то есть может не грузиться ни одна, может 1 или 2 или 3. 
проблема в том,что изображения копируются только если загружаю все 3 фото, если загружаю 1 или 2 - изображение не копирутся...

Код

<?php
include ('block/bd.php');
$path=GetCWD()."/files";
if (isset($_POST['title'])) {$title = $_POST['title']; if ($title == '') {unset ($title);}}
if (!isset($_FILES['UserFile2']['tmp_name'])) $_FILES['UserFile2']['name']='';
if (!isset($_FILES['UserFile3']['tmp_name'])) $_FILES['UserFile3']['name']='';
?>
 <h2 align="center">добавить фото</h2>
    <?php if (isset ($title)){
              if ($_FILES['UserFile']['tmp_name'] == '') { $name="nophoto.jpg";}
              else {
              $name=$_FILES['UserFile']['name'];
              $right=substr($name,strpos($name,'.'));
              $name="1".date('YdmHis').$right;
              }
              if ($_FILES['UserFile2']['tmp_name'] == '') { $name2="";}
              else {
              $name2=$_FILES['UserFile2']['name'];
              $right2=substr($name2,strpos($name2,'.'));
              $name2="2".date('YdmHis').$right2;
              }
              if ($_FILES['UserFile3']['tmp_name'] == '') { $name3="";}
              else {
              $name3=$_FILES['UserFile3']['name'];
              $right3=substr($name3,strpos($name3,'.'));
              $name3="3".date('YdmHis').$right3;
              }
    $result = mysql_query ("INSERT INTO paid (title,foto1,foto2,foto3) VALUES ('$title','$name','$name2','$name3')");
        }
  if(empty($_FILES['UserFile']['tmp_name'])) {
?>
<form method=post enctype=multipart/form-data id="form1">

<p>
    <label><b>Введите текст</b><br>
<textarea name='title' id='title' cols='40' rows='5'></textarea>
    </label>
  </p>
<p><b>Выберите фото :</b></p>
<p style="font-size:12px">(размером до 300 кб.)</p> 
<input type=file name='UserFile'><br />
<input type=file name='UserFile2'>
<br />
<input type=file name='UserFile3'>
<br>
<input type=submit value=Добавить фото>
</form>
<?php
  }
elseif(!is_uploaded_file($_FILES['UserFile']['tmp_name']) || !is_uploaded_file($_FILES['UserFile2']['tmp_name']) || !is_uploaded_file($_FILES['UserFile3']['tmp_name'])) die("<b><font color=red>Не удалось загрузить изображение</font></b>"); 
else {  
if(@!copy($_FILES['UserFile']['tmp_name'],$path.chr(47).$name) || @!copy($_FILES['UserFile2']['tmp_name'],$path.chr(47).$name2) || @!copy($_FILES['UserFile3']['tmp_name'],$path.chr(47).$name3)) die("<b><font color=red>Изображение не было скопировано</font></b>");     
else     echo "<p>Фото успешно добавлено</p> <p><a href='upload1.php'>Вернуться</a></p>"; 

?>
 
PM MAIL ICQ   Вверх
bars80080
Дата 9.1.2011, 02:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(Risyaalex @  9.1.2011,  01:17 Найти цитируемый пост)
elseif(!is_uploaded_file($_FILES['UserFile']['tmp_name']) || !is_uploaded_file($_FILES['UserFile2']['tmp_name']) || !is_uploaded_file($_FILES['UserFile3']['tmp_name'])) die("<b><font color=red>Не удалось загрузить изображение</font></b>"); 

дык, здесь написано - конец работе, если хоть одна из фоток не загрузилась. потому далее и не копируется
PM MAIL WWW   Вверх
Risyaalex
Дата 9.1.2011, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Все идет по плану...
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 22.7.2010

Репутация: нет
Всего: нет



я так и думала что здесь проблема
пыьалась как то так -

if (!isset($_FILES['UserFile']['tmp_name'])) $_FILES['UserFile2']['name']='';

если не существует загружаемый файл, переменная равняется пустоте

не работает

не могу понять логику, как сделать чтобы загружался только тот файл который выбран для загрузки....
PM MAIL ICQ   Вверх
IgorIV
Дата 9.1.2011, 15:33 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 7.9.2009

Репутация: 2
Всего: 8



Проверять массив $_FILES в цикле.
PM MAIL   Вверх
Risyaalex
Дата 9.1.2011, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Все идет по плану...
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 22.7.2010

Репутация: нет
Всего: нет



можно пример? 
PM MAIL ICQ   Вверх
IgorIV
Дата 9.1.2011, 16:53 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 7.9.2009

Репутация: 2
Всего: 8



Код

        $field_name = 'UserFile';
        // Перебор закаченных файлов  
            
            for ($i = 0; $i < $conf ["maxuploadfiles"]; $i ++)
            {

                    /**
                    *  если имя загружаемого файла пустое - пропускаем
                    */
                    if (empty ($_FILES[$field_name]['name'][$i]) ) continue;

                    /**
                    *  is_uploaded_file — Определяет, был ли файл загружен при помощи HTTP POST, если нет - пропускаем                    
                    */
                    if (is_uploaded_file ($_FILES[$field_name]['tmp_name'][$i]) === 'FALSE' ) continue;
                    
                    /**
                    * Если есть ошибки при заливке файла - записываем
                    */
                    if ($_FILES[$field_name]['error'][$i] > 0)
                    {
                        continue; 
                    }
    
        }

Только надо будет писать так.
Код

<input type=file name='UserFile[]'><br />
<input type=file name='UserFile[]'><br />
<input type=file name='UserFile[]'>


Это сообщение отредактировал(а) IgorIV - 9.1.2011, 16:55
PM MAIL   Вверх
Risyaalex
Дата 9.1.2011, 21:45 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Все идет по плану...
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 22.7.2010

Репутация: нет
Всего: нет



запуталась окончательно)
PM MAIL ICQ   Вверх
Shark
Дата 11.1.2011, 06:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 703
Регистрация: 18.6.2006
Где: Москва

Репутация: 4
Всего: 4



Risyaalex
вместо этого:
Код

<input type=file name='UserFile'><br />
<input type=file name='UserFile2'>
<br />
<input type=file name='UserFile3'>


тебе надо будет написать так:
Код

<input type=file name='UserFile[]'><br />
<input type=file name='UserFile[]'><br />
<input type=file name='UserFile[]'>


насчет кода IgorIV, сказать ничего не могу


--------------------
Смерть - это только начало... 
Агентство недвижимости Premial
PM MAIL WWW ICQ   Вверх
IgorIV
Дата 11.1.2011, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 7.9.2009

Репутация: 2
Всего: 8



Shark
кхм, товарищ, будте повнимательнее smile
PM MAIL   Вверх
Shark
Дата 11.1.2011, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 703
Регистрация: 18.6.2006
Где: Москва

Репутация: 4
Всего: 4



IgorIV, ты немножко не понял меня, да и я накосячил слегка...
я ей написал, что у нее надо заменить на твое smile


--------------------
Смерть - это только начало... 
Агентство недвижимости Premial
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0895 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.