Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Galenfea

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

Recommended Posts

Ключевые слова: размещение 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

 

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

Edited by Galenfea

Share this post


Link to post
Share on other sites

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

 

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

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

 

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

 

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

Share this post


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

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

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

Share this post


Link to post
Share on other sites

а сообщение

На 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.'&';
		}
	}

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

 

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

Share this post


Link to post
Share on other sites
вот только реализации отображения файлов при поверхностном взгляде я не понял
р

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


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

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

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

 

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

 

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

Похоже на то.

 

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
я имел ввиду реализацию встроенную в ipb с доменом загрузки.

 

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

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

 

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

 

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

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

 

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

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

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...