Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с загрузкой файла на сервер, Не загружается файл. 
:(
    Опции темы
fankiss
  Дата 17.12.2007, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 22.4.2007

Репутация: нет
Всего: нет



Может быть немного и оффтопик, но я в отчаяньи.
Проблема с загрузкой аватар в phpBB 2.0.22
На сервере под win2k sp4 стоит apache_2.0.52-win32-x86-no_ssl и php 5 с гаком smile
Когда загружаешь аватару - в массиве $HTTP_POST_FILES['avatar'] появляется и путь к временному файлу, и тип файла, и имя файла, словом - все. Но файл на сервер не попадает.
Т.е. после if(file_exists(путь к временному файлу)){
скрипт не выполняется и phpBB выдает свою ошибку 'Unable to upload file'.

Были подозрения на русский апатч и принудительную перекодировку в cp1251, но ведь тогда файл был бы битым, но существовал бы в e:\tmp\ ?

Еще возникает мысль о фаерволе... По какому порту файлы закачиваются? 80 (http) открыт. Может быть файлы по др. порту на сервер закачиваются? Хотя врядли, это не логично...

Кто что может посоветовать? Я в тупике на самом деле :(
PM MAIL   Вверх
Feldmarschall
Дата 17.12.2007, 14:49 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



если phpBB выдает свою ошибку 'Unable to upload file', то это совсем не значит, что файл на сервер не попадает.
во-первых, надо включить сообщения об ошибках.
во-вторых, проверить свои предположения о том, что файл на сервер не попадает. Доступ к файловой системе сервера есть? 
поставить sleep в вкрипте и проверить наличие файла руками - возможно?

кроме file_exists
стоит попробовать is_readable - может быть, у апача нет прав на этот каталог.


Это сообщение отредактировал(а) Feldmarschall - 17.12.2007, 14:49
PM   Вверх
Rigel
Дата 18.12.2007, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 24.7.2007
Где: Москва

Репутация: нет
Всего: нет



Цитата(fankiss @ 17.12.2007,  14:45)
Когда загружаешь аватару - в массиве $HTTP_POST_FILES['avatar'] появляется и путь к временному файлу, и тип файла, и имя файла, словом - все. Но файл на сервер не попадает.

Это ошибка известная. Нету в пятом PHP массива $HTTP_POST_FILES , зато есть массив $_FILES, ничем, кроме названия не отличающийся. Рекомендуется в таких случаях прежде всего смотреть на phpinfo(), там все это хорошо видно. Замените вызываемое имя и все заработает.

Это сообщение отредактировал(а) Rigel - 18.12.2007, 16:57
--------------------
С уважением. Rigel. http://www.smoliy.ru
PM MAIL WWW ICQ   Вверх
Feldmarschall
Дата 18.12.2007, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Rigel, во-первых, есть. И причём по умолчанию register_long_arrays = On
Во-вторых, странно говорить человеку, у которого "в массиве $HTTP_POST_FILES['avatar'] появляется и путь к временному файлу", что у него нет такого массива.
PM   Вверх
fankiss
Дата 18.12.2007, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 22.4.2007

Репутация: нет
Всего: нет



Цитата(Rigel @  18.12.2007,  16:57 Найти цитируемый пост)
Это ошибка известная. Нету в пятом PHP массива $HTTP_POST_FILES , зато есть массив $_FILES, ничем, кроме названия не отличающийся. Рекомендуется в таких случаях прежде всего смотреть на phpinfo(), там все это хорошо видно. Замените вызываемое имя и все заработает.

В пятом php (по крайней мере в тех версиях с которыми я сталкивался) $HTTP_POST_FILES есть.
И die($HTTP_POST_FILES['avatar']['tmp_name']); в моем случае возвращает временное имя.

Вот за sleep благодарю. Оказалось что файл действительно есть, а ошибка идет начиная с функции getimagesize() .
Вчера спрашивал у Гугла как запретить перекодирование multipart/form, то что нашел - не работает (апатч ругается на ошибку в .htaccess . Сейчас продолжу допрос Гугла, и вас прошу - подскажите как это делается.
PM MAIL   Вверх
Feldmarschall
Дата 18.12.2007, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



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

но то что ошибка - это странно...
PM   Вверх
fankiss
Дата 18.12.2007, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 22.4.2007

Репутация: нет
Всего: нет



Да, попробовал открыть загруженный tmp - изображение нормальное...
Ночь моя, разберусь. О результатах отпишу
PM MAIL   Вверх
fankiss
Дата 18.12.2007, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 22.4.2007

Репутация: нет
Всего: нет



В самом коде ошибочка была, коллеги так прислали + e:/tmp/ за пределлами open_basedir был smile
2 Feldmarschall: Спасибо большое за помощь.
PM MAIL   Вверх
Feldmarschall
Дата 18.12.2007, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



так ты отлаживал, не видя сообщений об ошибках? 
Это подвиг
PM   Вверх
fankiss
Дата 20.12.2007, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 22.4.2007

Репутация: нет
Всего: нет



Пришлось smile
На хосте вывод ошибок нельзя было включать, а на денвере все работало, там home/vhost/tmp для загрузки. Но ошибку в коде выловил на денвере конечно.
PM MAIL   Вверх
Feldmarschall
Дата 20.12.2007, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



А в лог писать тоже нельзя?
а написать конструкцию if($_SERVER['REMOTE_ADDR']=="мой айпишник") ini_set("display_errors",1)?
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0508 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.