![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| fankiss |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 22.4.2007 Репутация: нет Всего: нет |
Может быть немного и оффтопик, но я в отчаяньи.
Проблема с загрузкой аватар в phpBB 2.0.22 На сервере под win2k sp4 стоит apache_2.0.52-win32-x86-no_ssl и php 5 с гаком Когда загружаешь аватару - в массиве $HTTP_POST_FILES['avatar'] появляется и путь к временному файлу, и тип файла, и имя файла, словом - все. Но файл на сервер не попадает. Т.е. после if(file_exists(путь к временному файлу)){ скрипт не выполняется и phpBB выдает свою ошибку 'Unable to upload file'. Были подозрения на русский апатч и принудительную перекодировку в cp1251, но ведь тогда файл был бы битым, но существовал бы в e:\tmp\ ? Еще возникает мысль о фаерволе... По какому порту файлы закачиваются? 80 (http) открыт. Может быть файлы по др. порту на сервер закачиваются? Хотя врядли, это не логично... Кто что может посоветовать? Я в тупике на самом деле :( |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
если phpBB выдает свою ошибку 'Unable to upload file', то это совсем не значит, что файл на сервер не попадает.
во-первых, надо включить сообщения об ошибках. во-вторых, проверить свои предположения о том, что файл на сервер не попадает. Доступ к файловой системе сервера есть? поставить sleep в вкрипте и проверить наличие файла руками - возможно? кроме file_exists стоит попробовать is_readable - может быть, у апача нет прав на этот каталог. Это сообщение отредактировал(а) Feldmarschall - 17.12.2007, 14:49 |
|||
|
||||
| Rigel |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 24.7.2007 Где: Москва Репутация: нет Всего: нет |
Это ошибка известная. Нету в пятом PHP массива $HTTP_POST_FILES , зато есть массив $_FILES, ничем, кроме названия не отличающийся. Рекомендуется в таких случаях прежде всего смотреть на phpinfo(), там все это хорошо видно. Замените вызываемое имя и все заработает. Это сообщение отредактировал(а) Rigel - 18.12.2007, 16:57 --------------------
С уважением. Rigel. http://www.smoliy.ru |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Rigel, во-первых, есть. И причём по умолчанию register_long_arrays = On
Во-вторых, странно говорить человеку, у которого "в массиве $HTTP_POST_FILES['avatar'] появляется и путь к временному файлу", что у него нет такого массива. |
|||
|
||||
| fankiss |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 22.4.2007 Репутация: нет Всего: нет |
В пятом php (по крайней мере в тех версиях с которыми я сталкивался) $HTTP_POST_FILES есть. И die($HTTP_POST_FILES['avatar']['tmp_name']); в моем случае возвращает временное имя. Вот за sleep благодарю. Оказалось что файл действительно есть, а ошибка идет начиная с функции getimagesize() . Вчера спрашивал у Гугла как запретить перекодирование multipart/form, то что нашел - не работает (апатч ругается на ошибку в .htaccess . Сейчас продолжу допрос Гугла, и вас прошу - подскажите как это делается. |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
если апач ругается - значит никакого перекодирования нету.
перекодирование было в сервере Russian Apache который сейчас практически не используется. в обычном апаче ни перекодирования, ни директивы его отключающей, нету. но то что ошибка - это странно... |
|||
|
||||
| fankiss |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 22.4.2007 Репутация: нет Всего: нет |
Да, попробовал открыть загруженный tmp - изображение нормальное...
Ночь моя, разберусь. О результатах отпишу |
|||
|
||||
| fankiss |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 22.4.2007 Репутация: нет Всего: нет |
В самом коде ошибочка была, коллеги так прислали + e:/tmp/ за пределлами open_basedir был
2 Feldmarschall: Спасибо большое за помощь. |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
так ты отлаживал, не видя сообщений об ошибках?
Это подвиг |
|||
|
||||
| fankiss |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 22.4.2007 Репутация: нет Всего: нет |
Пришлось
На хосте вывод ошибок нельзя было включать, а на денвере все работало, там home/vhost/tmp для загрузки. Но ошибку в коде выловил на денвере конечно. |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
А в лог писать тоже нельзя?
а написать конструкцию if($_SERVER['REMOTE_ADDR']=="мой айпишник") ini_set("display_errors",1)? |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |