Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Файлы размером более 4Мб закачиваются нормально, но не скачиваются с сайта.

Страницы: 1  |  2
17.08.2011, 09:55
Максим

Зарегистрирован:
2011-08-17
Сообщений: 6

Здравствуйте, уважаемые!

система 4.2 стандарт
пхп 5.с

В файле ".htaccess" есть строчки:
php_value upload_max_filesize 32000000
php_value post_max_size 32000000

В файле "php.ini" есть строчки:
upload_max_filesize = 32M
post_max_size = 32M

При загрузке на сайт файла размером более 4Мб всё происходит обычно и никаких ошибок не выдаёт.
В папке "netcat_files" в подпапках соответствующих разделов и компонентов появляются файлы вида "b25742570df79972090451cbe3a13dec", на которые на нужных страницах появляются ссылки типа
"http://192.168.1.1/netcat_files/22/8/h_b25742570df79972090451cbe3a13dec"
При этом, если размер файла не превышает 4Мб, то он скачивается по этой ссылке нормально, но если размер файла превышает 4Мб, то загрузка файла прерывается и он скачивается размером 0 байт.

А если в ссылке убрать "h_", то есть сделать так:
"http://192.168.1.1/netcat_files/22/8/25742570df79972090451cbe3a13dec"
, то скачивается "запакованный" файл вида "b25742570df79972090451cbe3a13dec", который хранится в папке "netcat_files" в подпапках соответствующих разделов и компонентов.

Такое ощущение, что проблема где-то в системе netcat. Либо при "распаковке" файла не хватает какой-то памяти, либо стоит какое-то ограничение.

Не буду описывать, на сколько важно решить этот вопрос срочно, и сколько дней я уже бьюсь с этой проблемой, просто прошу, если кто знает, где нужно что поправить, то подскажите, пожалуйста.
17.08.2011, 16:38
Asiat
Аниматика
Asiat

Зарегистрирован:
2005-12-12
Сообщений: 576

А проверьте-ка еще memory_limit - объем памяти для работы скрипта. Вообще не должен стоять так мало 4 Mb, но симптомы похожи.

Разработка сайтов на Netcat с 2006... хм-м ... или 2005 хммм года. В общем, обращайтесь.
17.08.2011, 16:48
Максим

Зарегистрирован:
2011-08-17
Сообщений: 6

В файле php.ini было memory_limit = 24M
Для верности только что поставил 48M - не помогает.

При попытке скачать закачанный ранее файл размером 20 995 072 байт, сохраняет не пустой файл нулевой длинны, а в файле сохраняет текст:
Код:
<br />
<b>Fatal error</b>: Allowed memory size of 25165824 bytes exhausted
(tried to allocate 20961280 bytes) in
<b>/var/www/html/netcat/require/e404.php</b> on line <b>86</b><br />

Другие файлы, размером меньше 20 МБ, так и не скачиваются.
17.08.2011, 19:11
Denis
Denis

Зарегистрирован:
2008-07-15
Сообщений: 666

Можете сменить для поля тип файловой системы с защищенной на стандартную, тогда файлы будут отдаваться "напрямую", без неткэта

Ксю доставляет...
18.08.2011, 09:15
Максим

Зарегистрирован:
2011-08-17
Сообщений: 6

Скорее всего, можно так было сразу сделать, но я побоялся, что при смене типа поля, придётся файлы заного закачивать - у меня их много. Но как крайнюю меру, возможно, придётся использовать ваш совет, если проблема не решится.
18.08.2011, 16:41
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

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

имхо - это некорректная операция, которая может привести к нарушению целостности, я бы запрещал такие операции.

Temet nosce...
18.08.2011, 17:58
Denis
Denis

Зарегистрирован:
2008-07-15
Сообщений: 666

Тип файловой системы поменяется, но ранее закаченные файлы останутся в прежней системе ( иначе были бы проблемы хотя бы с битыми ссылками ).

Ксю доставляет...
18.08.2011, 21:51
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

Используя штатный api битых ссылок не будет - это плюс, но есть небольшой % тех случаев, когда приходится ссылки ручками формировать, основываясь на конкретном типе файловой системы - в этом случае все пойдет трубой.

Буквально месяц назад был случай, когда у чела порядка 3000 картинок изначально были в защищенном типе, что приводило к излишним нагрузкам на ресурсы сайта. Требовалось все перевести на другой тип, пришлось и тип менять, все файлы переименовывать и растаскивать по нужным каталогам. Не то чтоб сложно, но нудно.

Было бы хорошо, если бы при смене типа движок запрашивал: "привести все ранее закаченные файлы к новому типу? (да/нет)".

Temet nosce...
19.08.2011, 11:14
Denis
Denis

Зарегистрирован:
2008-07-15
Сообщений: 666

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

Ксю доставляет...
19.08.2011, 12:13
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

дык, это уже на откуп самого юзера, вопрос же:
"привести все ранее закаченные файлы к новому типу? (да/нет)"

Ну или хотя бы писАть предупреждение о возможных проблемах - защита от дурака. А то и ща спокойно можно строчный тип на числовой поменять, а потом обратно на строчный - движок позволит это сделать, тока не все могут понять, что данные потеряются.

Temet nosce...
19.08.2011, 15:04
Максим

Зарегистрирован:
2011-08-17
Сообщений: 6

Как я понимаю, корни моей проблемы кроются в защищённом типе файловой системы в поле шаблона. Я проверил - файлы размером более 4Мб, поле шаблона которых имеет стандартный тип, скачиваются без проблем. Вот хотелось бы уточнить: это только у меня или это общая беда системы?
198 196 2011-08-20 07:07:55 11503
Страницы: 1  |  2
Описание проекта