Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Добавление файлов через POST
 
 автор: Alessandro   (14.05.2007 в 14:10)   письмо автору
 
 

Возникла проблема не могу понять в чем дело :

Через форму я добавляю на сервер файлы. Причем могу добавить 10 файлов по 4,8 мегобайт, в другом случае могу добавить 1 файл размером 21 мегобайт, в третьем добавляю файл размер 11 мегобайт.

Но при попытке добавления 2 файлов по 21 мегобайту первый файл добавляется, а второй нет. Выдает ошибку в виде


  [att] => Array
        (
            [name] => Array
                (
                    [0] => aaa.doc
                    [1] => 10.doc
                )

            [type] => Array
                (
                    [0] => application/msword
                    [1] => 
                )

            [tmp_name] => Array
                (
                    [0] => /tmp\phpB2.tmp
                    [1] => 
                )

            [error] => Array
                (
                    [0] => 0
                    [1] => 2                )

            [size] => Array
                (
                    [0] => 21122048
                    [1] => 0
                )

        )

)



Вроде все ограничения в php.ini проверил. В чем может быть проблема ?

   
 
 автор: ddhvvn   (14.05.2007 в 14:18)   письмо автору
 
   для: Alessandro   (14.05.2007 в 14:10)
 

UPLOAD_ERR_FORM_SIZE
Значение: 2; Размер загружаемого файла превысил значение MAX_FILE_SIZE, указанное в HTML-форме.

   
 
 автор: Alessandro   (14.05.2007 в 14:22)   письмо автору
 
   для: ddhvvn   (14.05.2007 в 14:18)
 

А какой максимальльный размер MAX_FILE_SIZE ? И его необходимо прописывать в коде или достаточно указать в php.ini ?

   
 
 автор: Trianon   (14.05.2007 в 14:24)   письмо автору
 
   для: Alessandro   (14.05.2007 в 14:10)
 

Форма как выглядит?

   
 
 автор: Alessandro   (14.05.2007 в 14:28)   письмо автору
 
   для: Trianon   (14.05.2007 в 14:24)
 


   <input type="hidden" name="MAX_FILE_SIZE" value="10097152" />

     <td><input type="file" size="32" name="att[]" class=input></td> 
    <td><input type="button" name="drop" value=" &minus; " onclick="dropFile(this);"> 
        <input type="button" value=" + " onclick="addFile(this);"></td> 
    </tr> 
</table> 
<script language='JavaScript1.1' type='text/javascript'> 
<!-- 
function dropFile(btn) 

  if(document.getElementById) 
  { 
    while (btn.tagName != 'TR') btn = btn.parentNode; 
    btn.parentNode.removeChild(btn); 
  } 

function addFile(btn) 

  if(document.getElementById) 
  { 
    while (btn.tagName != 'TR') btn = btn.parentNode; 
    var newTr = btn.parentNode.insertBefore(btn.cloneNode(true),btn.nextSibling); 
    thisChilds = newTr.getElementsByTagName('td'); 
    for (var i = 0; i < thisChilds.length; i++) 
    { 
      if (thisChilds[i].className == 'files') thisChilds[i].innerHTML = '<input size="32" name="att[]" class=input type="file">'; 
    } 
  } 
 }
//--> 
</script> 

   
 
 автор: Alessandro   (14.05.2007 в 14:41)   письмо автору
 
   для: Trianon   (14.05.2007 в 14:24)
 

Я вообще убрал эту строчку


 <input type="hidden" name="MAX_FILE_SIZE" value="10097152" /> 


И все заработало, но передается максимум 50 мегобайт, дальше просто вообще не одна переменная не передается.

   
 
 автор: Trianon   (14.05.2007 в 15:48)   письмо автору
 
   для: Alessandro   (14.05.2007 в 14:41)
 

А Вы хотите весь винчестер на сайт залить?

   
 
 автор: Alessandro   (16.05.2007 в 12:31)   письмо автору
 
   для: Trianon   (14.05.2007 в 15:48)
 

Мне необходимо чтобы я мог загрузить файлы общим объмом мегобайт 150-200.

И еще вопрос где-то я видел, но не нашел когда нужно что это за ошибка массива 1

 [error] => Array
                (
                    [0] => 1
                )

   
 
 автор: Valick   (16.05.2007 в 13:23)   письмо автору
 
   для: Alessandro   (16.05.2007 в 12:31)
 

Просто интересно зачем вам качать150-200 Мегов?


 [error] => Array 
                ( 
                    [0] => 1 
                )

Это скорее всего порядковый номер константы UPLOAD_ERR_OK , проще говоря Ошибок нет файл загружен успешно.

   
 
 автор: Valick   (16.05.2007 в 13:29)   письмо автору
 
   для: Valick   (16.05.2007 в 13:23)
 

Или всё ок это "0", тогда "1" - это UPLOAD_ERR_SIZE, Размер загружаемого файла превысил размер в php.ini

   
 
 автор: Valick   (16.05.2007 в 13:35)   письмо автору
 
   для: Valick   (16.05.2007 в 13:29)
 

Короче вот:
UPLOAD_ERR_OK - Успешная загрузка
UPLOAD_ERR_INT_SIZE - Размер загружаемого файла превысил размер в php.ini
UPLOAD_ERR_FORM_SIZE - Размер загружаемого файла превысил размер в MAX_FILE_SIZE
UPLOAD_ERR_PARTIAL - Загрузка прервана, файл загружен неполностью
UPLOAD_ERR_NOFILE - Файл небыл загружен

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования