|
Ф/\Ей|\/| Ну сами понимаете... должно быть место, которое не модерируется... Но не злоупотребляйте... |
|
Опции темы | Опции просмотра |
26.10.2005, 20:38 | #1 |
Занятой мадер
Регистрация: 10.03.2004
Адрес: Минск
Сообщений: 149
|
Битые аттачи на форуме
Почему в apache может передаваться битая информация (c) The OpenNET Project
Если используется русский apache и после закачки через форму файл приходит битый: CharsetRecodeMultipartForms Off Если пользователь скачивает битый файл (например, rar-архив): - Убедитесь, что для типа вашего файла присутствует корректная запись вmime.types; - Проверьте, какой тип по умолчанию установлен в httpd.conf, лучше поставить DefaultType application/octet-stream Если PHP скрипт выдает битую информацию: 1. Например, если в результате выполнения функции (например, base64_encode($buffer)) на выходе получается битый файл (кавычки, \ и символ с нулевым кодом экранированы символом \), то проблема в использовании директив автоматического экранирования magic_quotes_gpc (get, post, cookie) или magic_quotes_runtime (автоэкранирования в некоторых функциях) в php.ini. Для решения проблемы нужно использовать функцию stripslashes, например: base64_encode(stripslashes($buffer)) 2. stripslashes не есть противоположностью addslashes/magic_quotes_* Они точно так же могут испортить файл, потому что если в исходном файле встречается последовательность \<символ_экранирования> то \ в любом случае будет утерян. magic_quotes_gpc надо в любом случае отключать или административно (php.ini, httpd.conf) или на свой виртуальниый хост через .htaccess (mod_php) php_flag magic_quotes_gpc off php.ini (CGI и если правильно настроен suExec) magic_quotes_gpc=off Может быть эта информация поможет исправить проблему. вбр. |