Strict Standards: Resource ID#18 used as offset, casting to integer (18) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#23 used as offset, casting to integer (23) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#25 used as offset, casting to integer (25) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: FM 1.0 - проблемы с upload
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


 Страниц (1): [1]   

> Описание: Файлы портятся под FreeBSD
Nikitich
Отправлено: 31 Января, 2008 - 00:53:22
Post Id



Пришелец-прораб


Покинул форум
Сообщений всего: 219
Дата рег-ции: Июль 2004  

Карма 16




Hi All,

При аплоаде бинарных файлов на сервер они засовываются в формат TAR, потом обрабатываются GZip'ом , а при даунлоаде получившийся архив попадает в WinRAR, и в итоге в Денвере все нормально, а в FreeBSD в этой цепочке что-то не срабатывает, и все нулевые байты становятся пробелами (00->20, ну и по мелочи 61->41, 62->42 и т.п.), и в результате текстовым файлам ничего, а бинарные просто портятся.

Кто-нибудь сталкивался с этой проблемой?
 
 Top
Nikitich
Отправлено: 01 Февраля, 2008 - 06:46:01
Post Id



Пришелец-прораб


Покинул форум
Сообщений всего: 219
Дата рег-ции: Июль 2004  

Карма 16




Nikitich пишет:
в результате текстовым файлам ничего, а бинарные просто портятся.


Долго ковырял код форума, ничего не нашел, но проблема была не в форуме, а в настройках Russian Apache - сам сервер портил кодировку при загрузке.

Дело в том, что, чтобы загрузить файл на сервер через PHP, нужно создать примерно такую форму:
CODE:
<form enctype="multipart/form-data" action="some_forum_script.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
Отправить этот файл: <input name="userfile" type="file" />
<input type="submit" value="Send File" />
</form>


При этом важно, чтоб тип данных был "multipart/form-data", иначе PHP файл не загрузит. Примерно так EXBB и работает: создает форму, указывает этот тип данных, получает файл, переносит его в uploads, затем кодирует в tar и gzip. Когда я заметил, что файл прилетает уже порченый, я полез разбираться с Апачем и нашел, что перекодировку этого типа данных при загрузке методом POST можно отключить.

Для этого надо в файл httpd.conf добавить следующее:
CODE:

<Location />
CharsetRecodeMultipartForms Off
</Location>


После этого перезапустил Апач и вуаля! Все работает.

(Отредактировано автором: 01 Февраля, 2008 - 06:55:53)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0, скрытых: 0)
« ExBB Full Mods »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 



Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0259]     [ Gzipped ]