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) |