Перейти к публикации

Бред с размером файла


Рекомендованные сообщения

Доброго времени суток,Джедаи.

версия 9.8

Заливаю файл, допстуим - 5 гиг.

На сервер падает реально 5 гигов,но на сайте выводится размер в 30 метров,или может показать 1.5 гига.

В панели добавления новости ( в админке ) в залитых файлах тоже показывает не реальный объём.

Скачивается тоже 32 метра,или 1.5 гига.

Какие-то файлы нормально заливает,но большую часть вот таким вот бредом заливает.

Ошибок в логах нет никаких. Перековырял весь конфиг php. Грешу на apc и то,что он не может посчитать размер файла.

Пробовал:

играться с настройками php

играться с именами файлов

Ссылка на сообщение
Поделиться на других сайтах

Проблема в вашей OS, нужно использовать 64 битную ос, а не 32 битную, в противном случае посчитать размер через PHP для файлов более двух гигабайт не получится.

Ссылка на сообщение
Поделиться на других сайтах

Проблема в вашей OS, нужно использовать 64 битную ос, а не 32 битную, в противном случае посчитать размер через PHP для файлов более двух гигабайт не получится.

Linux debian 3.2.0-4-686-pae #1 SMP Debian 3.2.57-3+deb7u1 i686 GNU/Linux

Суть в том,что заливаются спокойненько файлы больше двух гигов. и по 15 заливаются и по 30.

Вот такая вот загагулина...

Когда он не может посчитать размер файла - он указывает вместо размера вот такое число -675980479 b

Изменено пользователем prozaklob
Ссылка на сообщение
Поделиться на других сайтах

Суть в том,что заливаются спокойненько файлы больше двух гигов. и по 15 заливаются и по 30.

Это совсем другое. И никак не зависит друг от друга. PHP возвращает размер файла в байтах и если раззмер числа превышает 32 бита, то оно не может быть корректно просчитано.

Когда он не может посчитать размер файла - он указывает вместо размера вот такое число -675980479 b

Необязательно.

Кстати вы загружаете через скрипт файлы или по FTP? Официальной поддержкой загрузки файлов через PHP обладает только версия PHP 5.6.x но она не поддерживается версией 9.8 DLE.

Ссылка на сообщение
Поделиться на других сайтах

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

Вот к примеру:

заливал файлик на 5 гигов.

На сервере в папке лежит 5 гигов

На сайте показывает 30 метров и скачивается всего 30 метров.

Ссылка на сообщение
Поделиться на других сайтах

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

Вам нужно обновлять PHP до линейки 5.6 т.к только с этой версии официально поддерживается загрузка файлов через PHP более двух гигабайт. До этой линейки такой поддержки нет, и как поведение скриптов не предсказуемо. Также и DLE нужно обновлять до актуальной версии, потому как 9.8 не поддерживает эту линейку.

заливал файлик на 5 гигов. На сервере в папке лежит 5 гигов На сайте показывает 30 метров и скачивается всего 30 метров.

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

Читайте нововведения новой линейки PHP http://php.net/migration56.new-Features

Large file uploads

Files larger than 2 gigabytes in size are now accepted.

Либо загружайте файлы по FTP, а не через скрипт.

Ссылка на сообщение
Поделиться на других сайтах

предчувствую беду. Сменить архитектуру системы,обновить ядро,обновить пхп и двиг сайта.

Это полный ад >_<

Ссылка на сообщение
Поделиться на других сайтах
  • 3 недели спустя...

нет,ну всё же дело не в php. Залил сейчас файл размером 9.4 гб. Размер показывает 800 с копейками на сайте,хотя в upload лежит реально 9.4

Решил ужать файл в архив,подкинул в базе ссылку в files. В итоге он сделал 700 с копейками размер. Выходит,что это все-таки DLE определяет размер файла и задает параметры при скачивании.

Ссылка на сообщение
Поделиться на других сайтах

Решил ужать файл в архив,подкинул в базе ссылку в files. В итоге он сделал 700 с копейками размер. Выходит,что это все-таки DLE определяет размер файла и задает параметры при скачивании.

DLE этого не делает и таких функций у него нет. Файлы загружает PHP интерпретатор, а не сами скрипты PHP. Скрипты запускаются когда файл уже загружен. Размеры также сообщает PHP интерпретатор. Какие размеры он сообщит скрипту, те DLE и показывает вам.

Ссылка на сообщение
Поделиться на других сайтах
  • 2 месяца спустя...

Подскажите как поднять лимит закачиваемых через админ панель файлов до 10 мб?

http://forum.dle-news.ru/index.php?showtopic=61824&hl=upload_max_filesize&fromsearch=1

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...