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

[IPB 2.x.x] Если не закачиваются файлы-приложения к сообщениям


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

Столкнулся только что с такой проблемой: установил на сайт IPB 2.2, пробую прикрепить к сообщению приложение - не прикрепляется, как не крути настройки и chmod папки uploads.

 

Суть проблемы: Такое происходит, потому что форум сам создает в папке uploads ежемесячные подпапки для файлов с именами формата monthly_mm_yyyy. Но у многих хостеров в конфиге PHP заблокирована из соображений безопасности PHP-функция chmod(), позволяющая скрипту самостоятельно присваивать права доступа папкам. Т.е. что происходит: форум создает ежемесячную папку, но права на запись ей присвоить не может, соотв. и записать в неё потом тоже ничего не может.

 

Мое решение:

 

Шаг 1: Вручную создаем в папке uploads (или в любой другой папке, которая у вас в настройках форума назначена папкой для загрузки приложений) подпапку attachments. Присваиваем ручками в FTP-менеджере этой папке CHMOD-права 0777.

 

Шаг 2: Открываем php-файл форума папка_с_форумом/sources/classes/attach/class_attach.php

 

Шаг 3: Ищем в файле class_attach.php такую строку кода (~1072-я строка):

 

		if ( $this->settings['allow_monthly_upload_dirs'] )

 

Заменяем её на:

 

		/*if ( $this->settings['allow_monthly_upload_dirs'] )

 

Шаг 4: Ищем в файле class_attach.php такие строки кода (~1096-я строка):

 

			else
		{
			# Set path and dir correct
			$this->upload_path .= "/" . $this_month;
			$this->upload_dir   = $this_month."/";
		}
	}

 

Заменяем её на:

 

			else
		{
			# Set path and dir correct
			$this->upload_path .= "/" . $this_month;
			$this->upload_dir   = $this_month."/";
		}
	}*/
	$this->upload_path .= "/" . 'attachments';
	$this->upload_dir   = 'attachments'."/";

 

 

Шаг 5: Сохраняем и закрываем файл class_attach.php. Радуемся работающим аттачам :D

 

 

ЗЫ: Если на форуме гайд на эту тему уже где-то был, сорри. Я всего лишь столкнулся с проблемой, нашел решение, отписался. Так сказать, "мапед не мой, я только объяву разместил" ©

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

По пунктам:

  1. Если запрещено изменение атрибутов на файлы и директории, то тогда не должно работать кеширование шаблонов в PHP-файлы (принцип кеширования таков: создается директория «cacheid_*», устанавливаются атрибуты доступа 0777 и затем в эту директорию записываются кеш-файлы).
  2. В таком случае у Вас должна быть включена настройка «Использовать безопасный режим работы со стилями?» — в этом случае все шаблоны будут грузиться не из файлов, а из базы данных.
  3. В таком случае загружаемые файлы не раскидываются по разным директориям каждый месяц — при инициализации объекта выполняется условие:
    $this->settings['allow_monthly_upload_dirs'] = SAFE_MODE_ON ? 0 : ( $this->ipsclass->vars['safe_mode_skins'] ? 0 : 1 );


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

sM1Le

Я больше программер, чем админ, так что в большинстве случаев предпочитаю топорный метод решения проблем :D Да и форум я этот (IPB) вижу (изнутри) второй день в глаза только...

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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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

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

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