За последние 24 часа нас посетил 35401 программист и 1814 роботов. Сейчас ищет 931 программист ...

Проблемы с загрузкой больших файлов (POST)

Тема в разделе "Прочие вопросы по PHP", создана пользователем PostFx, 9 мар 2011.

  1. PostFx

    PostFx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    7
    Симпатии:
    0
    Здравствуйте.
    Не совсем уверен, что пишу именно в нужный раздел, попробую описать суть проблемы.

    Есть простейшая форма:

    <form action="" enctype="multipart/form-data" method="post">
    <input type="file" name="fl">
    <input type="submit">
    </form>

    Просто файл и сабмит.

    В .htaccess переопределены: post_max_size, upload_max_filesize, memory_limit.

    При загрузке большого файла (больше 200 мб) в логах апача появляется запись:

    request failed: URI too long (longer than 8190)

    При этом данные же я передаю POST-запросом. Причем тут длина URI?

    При этом $_FILES['fl'][error] = 3.

    Кстати, аплоад даже не начинает происходить, ошибка возвращается моментально.

    Апач настроен по умолчанию, никаких специфических опций, PHP 5.3.5.

    Мучаюсь с этим вопросом уже 2 дня, очень рассчитываю на вашу помощь.

    С уважением, Дмитрий.
     
  2. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    URL, по которому происходит загрузка, судя по всему слишком длинный. Выходит что он у вас аж 8КБ+, что явно не хорошо.

    У вас точно форма так выглядет? Сделайте copy/paste, поскольку судя набору ошибок, скорее всего вы забыли method="POST" :)
     
  3. PostFx

    PostFx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    7
    Симпатии:
    0
    Так в том то и дело, копипастом я и вставлял, всё именно так, method="post"
    Поэтому и задал здесь вопрос, уже всё перепробовал что только возможно.

    Самое интересное, что в $_REQUEST URI короткий, именно ограничивается только $_GET данными.
    А форма вот так себя странно ведёт :-(

    Никто не встречался с подобным?
     
  4. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    UPLOAD_ERR_PARTIAL
    Value: 3; The uploaded file was only partially uploaded.

    а из лога вы скорее всего не ту строчку прочли.
    Error[3] - означает, что файл загружен на сервер не полностью, что объясняется установленной директивой в .htaccess
     
  5. PostFx

    PostFx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    7
    Симпатии:
    0
    Нет, в логах как раз именно эта строчка каждый раз, когда я жму "Загрузить".

    Про ошибку я читал, про файл понимаю, но никакие директивы в .htaccess по идее уже не могут препятствовать загрузке файлов в 200 мб.

    Пойду разбираться дальше :-(
     
  6. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    Если эти директивы не противоречат загрузке файла в 200мб, а наоборот, увеличивают допустимый размер, и почему-то это до сих пор не работает, может стоит попробовать определить эти директивы в php.ini, может он их оверрайдит своими ограничениями ?
     
  7. PostFx

    PostFx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    7
    Симпатии:
    0
    [UPDATE] кажется, есть новости.

    Данное поведение было установлено ТОЛЬКО на Opera 11.01.
    Видимо, новая опера отправляет значение размера одно, а сам файл режет или фиг знает что делает.

    Mozilla Firefox ведет себя нормально.