Перейти к содержимому
Открыть в приложении

Удобный способ просмотра. Узнать больше.

Дизайн и модификация Invision Community

Полноэкранное приложение на главном экране с push-уведомлениями, медалями и многим другим.

Чтобы установить это приложение на iOS и iPadOS
  1. Нажмите иконку «Поделиться» в Safari
  2. Прокрутите меню и нажмите На экран «Домой».
  3. Нажмите Добавить в правом верхнем углу.
Чтобы установить это приложение на Android
  1. Нажмите меню из трёх точек (⋮) в правом верхнем углу браузера.
  2. Нажмите Добавить на главный экран или Установить приложение.
  3. Подтвердите, нажав Установить.
Русский язык для Invision Community 5

Загрузка файлов на другой сервер

Ключевые слова: размещение uploads

 

Ситуация: мало места на хостинге, есть вариант взять дешёвый хостинг с большим объёмом и трафиком, но не удовлетворяют остальные условия для переноса на него сайта. Версия форума 2.3.5

 

Задача: как сделать так, чтобы загрузка файлов производилась на другой сервер? Чтобы все файлы, которые закачиваются пользователями в uploads находились на другом сервере.

 

Предпринятые усилия по поиску решения дали: в версии IPB 2.3.5 в общих настройках форума есть строчка

Домен скрипта для формы загрузки

Опция переназначает параметр action для формы загрузки файлов. Данная опция будет полезна при использовании определенного сервера для загрузки файлов, что бывает крайне необходимо для распределения нагрузки по разным серверам. (Если вы не знаете для чего этот параметр — не изменяйте его!)

Пример значения опции: http:// master.mysite.com/forums

 

Выводы: Как я понял, надо иметь скрипт размещаемый на другом сервере и прописать путь к этому скрипту в этом поле, тогда загрузка файлов будет осуществляться с помощью этого скрипта, туда, куда в нём прописано. Не уверен, что понял правильно, и не знаю, что же в этом случае делать с настройкой

Путь к директории 'upload' Проблемы с загрузкой на сервер?

Это относительный путь, а не URL.

IPB определил следующий путь к директории uploads:

/catalog/your_site/public_html/forum/uploads

 

Есть ли где-нибудь такой скрипт?

Изменено пользователем Galenfea

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

http://ipbskins.ru/forum/tags/%E7%E0%E3%F0...9%EB%EE%E2.html

 

вообще тема уже обсуждалась и не раз, есть где-то, вроде, незатегированная похожая тема.

  • Автор

Да видел я это, не нашёл требуемых ответов. Хотя, если поразмыслить, то отрицательный ответ - тоже ответ...

 

Если же сервера разные, то надо будет использовать curl и изменять исходный код. Готового написанного решения нет.
есть в настройках "Upload form action domain". Возможно оно вам поможет, но на удаленном домене должен стоять обработчик, собстно и есть скрипт.

А какой обработчик - хз. Систему не знаю

 

Можно, наверное, присоединить эту тему к той

 

Поставлю тогда так вопрос, где вообще можно прочитать о Upload form action domain или если по-русски Домене скрипта для формы загрузки ? Есть какая-нибудь документация на сей счёт, я честно говоря не представляю где её брать, потому что на wiki.iblink где по идее она есть, там весьма поверхностно на мой взгляд она представлена.

Поставлю тогда так вопрос, где вообще можно прочитать о Upload form action domain или если по-русски Домене скрипта для формы загрузки ?

Я в свое время не нашел. Правда искал не активно.

Меня тоже заинтересовало возможность загрузки изображений в другое место, то поскольку решение не лежало на поверхности, махнул рукой.

а сообщение

На IBR есть для 2.1...
тоже не ответ?

в принципе остается только адаптировать скрипт.

 

доков нету, просто стандартный домен <form action> заменяется на тот, что прописан в настройках.

		if( $this->ipsclass->vars['upload_domain'] )
	{
		$is_reset = 1;
		$original = $this->ipsclass->base_url;

		if( $this->ipsclass->session_type == 'cookie' )
		{
			$this->ipsclass->base_url = $this->ipsclass->vars['upload_domain'] . '/index.' . $this->ipsclass->vars['php_ext'].'?';
		}
		else
		{
			$this->ipsclass->base_url = $this->ipsclass->vars['upload_domain'] . '/index.' . $this->ipsclass->vars['php_ext'].'?s='.$this->ipsclass->session_id.'&';
		}
	}

вот таким образом.

 

вот только реализации отображения файлов при поверхностном взгляде я не понял.

вот только реализации отображения файлов при поверхностном взгляде я не понял
р

Реализуется через NFS, например, но это если второй сервер не чисто FTP. А если так, то, например, при скачивании аттача, нужно коннектится к нему и забирать файл. Такой вариант, как я уже говорил, есть на IBR для 2.1. идеальным его назвать нельзя, потмоу как картинки, или по крайней мере превью, лучше хранить на сервере, который сможет их быстро отдать. А наиболее часто скачиваемые файлы также хорошо бы уметь быстро отдавать, чтобы не качать их каждый раз с FTP. Такой реализации в паблике нету, так что либо искать написавшего, либо писать самому.

я имел ввиду реализацию встроенную в ipb с доменом загрузки.

 

а то что ты написал, я похожее реализовал уже. Но для других целей.

Реализация отображения - в attach.php, функция attach_upload_show() - такая же замена base_url. - не, не то, сорри.

кажется что её вообще нету...

Очень на это похоже. При показе берет из базы директорию-имя, при сохранении в базу пишет те же локальные пути, нигде не проверяя "внешность". Видимо, затычка-недоделка.

 

Соберусь с силами, попробую адаптировать свою фтп-загружалку к 2.3.5.

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

Есть похожее решение -- [AH23|TASK] Download Remote Images, для хранения у себя.

Вторые выходные хочу его посмотреть, но не успеваю.

 

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

 

Видимо, затычка-недоделка.

Похоже на то.

 

Соберусь с силами, попробую адаптировать свою фтп-загружалку к 2.3.5.

Такая вещь уже используется для IP.Downloads.

Я ее писал 2 года назад, тогда у меня не было файлового архива. Потом сравнил - одно и тоже. Выдрать из архива эту функцию можно, но дорабатывать всё равно надо, файлы иногда приходится удалять после загрузки, они должны удаляться вместе с удалением поста. Этих функций в движке форума нет.

я имел ввиду реализацию встроенную в ipb с доменом загрузки.

 

а то что ты написал, я похожее реализовал уже. Но для других целей.

Так я это и хотел использовать. Только не нужно забывать, что нужно будет самому писать ту часть, которая будет отвечать за скачивание, я хотел на этом акцент сделать.

 

Очень на это похоже. При показе берет из базы директорию-имя, при сохранении в базу пишет те же локальные пути, нигде не проверяя "внешность". Видимо, затычка-недоделка.

 

Соберусь с силами, попробую адаптировать свою фтп-загружалку к 2.3.5.

Так она не предназначалась для распределённого хранения файлов, а только чтобы можно было повесить загрузку на отдельный домен с отдельным сервером. А храниить нужно было в общей FS.

 

Есть похожее решение -- [AH23|TASK] Download Remote Images, для хранения у себя.

Вторые выходные хочу его посмотреть, но не успеваю.

Так этот мод как раз для другой цели. если пользователь не прикрепляет картинку, а постит через [ img ], то есть вероятность, что когда-нибудь она станет недоступной. Во избежание этого мод копирует её на сервер с форумом и заменяет ссылку с удалённой на локальную.

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.