Перейти к контенту
  • 0

Загрузка изображений


vasyast

Вопрос

Я и многие другие админы и пользователи форумов 2.1.3 сталкнулись с проблемой загрузки изображений. Сначала выдвигались версии, что это мол из-за т.н. "Русского Апач", который автоматически перекодирует двоичные файлы с изображениями.

Когда я начил разбираться с этой проблемой, то решил действовать теми же методами как и другие, т.е. в хтачес файле и в httpd.conf пытался прописать отмену перекодировки. Но оказалось, что на сервере то не русский апач и проблему таким способом не решить.

К сообщению прикреплялись почти все изображения размером (в пикселях по ширине и высоте) до 1000. Ошибка возможная была в коде программы, причем не в файле class_upload.php, а в файле class_image.php. Именно там скприт делал уменьшенное изображение загружаемой картинки, после чего и вылетала белая страница, которая так всех бесила.

 

Нижеизложенный способ решает проблему с прикреплением изображений к сообщениям без вмешательства в httpd.conf или прописки директивы:

файл class_upload.php трогать не нужно, ничего в нем редактировать и закомментивать тоже. Открываем файл class_image.php, находим 234 строку с кодом:

				$img_size = @GetImageSize( $this->in_file_complete );

и заменяем ее (корректируем в функции Getimagesize) на:

				$img_size = @GetImageSize( $this->in_file_name );

 

После этого загружаем отредактированный файл с классом на сервер и радуемся жизни. Все должно работать. :D Обязательно отпишитесь, если вы прибегли к моему метуду решения проблемы и что у вас получилось. Возможно, что это НЕ будет работать на сервер где установлен т.н. "руссий" Apache.

 

Всем спасибо.

Изменено пользователем vasyast
Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0
Ничего не получилось.

Вообщем я тут все доделал и пришел к выводу, что обязательно надо пропивать дикертиву

"CharsetRecodeMultipartForms Off" в файл httpd.conf. Тогда начнут прикреплять картинки, но не всех размеров. И если потом исправить код (см. сообщение выше) в class_image.php, то после этого начнут корректно прикреплять и перестраиваться все изображения.

Чтобы прописать в httpd.conf, надо писать в саппорт хостеру своему или же в хтачес файле, но тогда будет ошибка 500 возникать. Это от сервера зависит.

Вот такая вот алгебра. :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0
2vasyast

Слушай, а это распостраняется на 2.1.4 ?

Я только что утром поставил на другой сайт форум 2.1.3, где исправил по своему методу файл class_images.php и проблемы с загрузкой вообще нету. Причем пробовал вернуть чистый файл со скриптом, от разработчика, то проблема опять проявляется. Так же сегодня проверил, что использовать директивы в httpd.conf не нужно. Вот так вот.

 

Это конечно распрастраняется на 2.1.4, если там нету изменений в этом скрипте. Думаю, что вряд ли они там есть. Поэтому попробуй. :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Я все сделал как ты написал.... Но вот все никак не удается с хостом связаться :D

Поэтому наверно и не работает....

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Всем привет.

 

Мой первоначальный способ имеет место быть, но несет с собой еще парочку багов, а именно баги с перестройкой изображений. Мне это ужасно не нравилось, рыскал по учебникам php, общался на форумах с богами и вообщем осенило. Либо ехать на хост, где дают больше памяти и где апач не будет давиться большими картинками к сообщениям, либо придумывать новое решение.

 

И вот, то самое новое решение. Если у вас после загрузки больших картинок (формата 1200х1200px) к сообщению выскакивает белый экран, а директивой в хтачесе это не решить, то возможно данный метод вам поможет.

 

Открываем горемычный файл /upload/ips_kernel/class_image.php. Находим:

 function generate_thumbnail()
{

Ниже строчкой вставляем:

  ini_set('memory_limit', '32M');

 

Буду признателен если какой-либо гуру в области php подскажет мне подробнее о функции ini_set() и конкретно о memory_limit, и еще конкретнее каким способом идет запрос на выделение памяти. Не скажется ли это на работу? ;)

 

Вообщем данный способ работает отлично. В пределах возможности сервера. :)

 

P.S. Прошу прощение, что поднимаю столь старую и ненужную тему. Не бейте только. :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Подскажете как в IPB в ответе втавлять, загружать изображение с локального компьютера.

 

Поиск изал, нашел только эту тему, в которой и решил спросить. ;)

 

 

Все ok. разобрался.

 

Спасибо Мужики! :)

 

 

http://www.ibresource.ru/forums/index.php?showtopic=9152

http://www.ibresource.ru/forums/index.php?showtopic=13020

http://stophack.ru/5step.html

http://www.ibresource.ru/forums/index.php?...%F2%F2%E0%F7%E8

http://wizards.org.ru/forum/index.php?show...indpost&p=8

 

 

:D

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.