Как загрузить на отдельный файловый сервер с помощью PHP?

Разрабатываемое мной приложение позволяет пользователям загружать аватары для своего профиля. Поскольку в приложении используются два отдельных веб-сервера на передней панели, мы намерены использовать отдельный файловый сервер для хранения файлов изображений. Код, который я использую, успешно загружает файлы в каталог на веб-сервере. Каков наилучший способ успешно получить файлы на файловый сервер? Он использует код загрузки с именем «class.upload.php», который я нашел здесь https://www.verot.net/php_class_upload.htm

Вот код:

require_once('class.upload.php');

$foo = new Upload($_FILES['fileToUpload']);

if ($foo->uploaded) {

// save uploaded image with a new name,
// convert to .jpg
// resized to 50px by 50px

$foo->file_new_name_body = $tablename;
$foo->file_auto_rename = true;
$foo->image_convert = jpg;
$foo->image_resize = true;
$foo->image_ratio_crop = true;
$foo->image_y = 50;
$foo->image_x = 50;

//THIS LINE CURRENTLY SPECIFIES UPLOAD PATH ON WEBSERVER
$foo->Process('avatars/');

// THE LINE BELOW IS WHAT I TRIED AND GOT A 'Can't create file path' ERROR
//$foo->Process('http://XXX.XXX.XXX.XXX/PATH/TO/avatars/');if ($foo->processed) {
//echo 'image renamed, resized x=100 and converted to JPG';
$foo->Clean();
...then goes on with upload processing since upload is successful.
}

}

где XXX.XXX.XXX.XXX — это IP-адрес файлового сервера.

Заранее спасибо за помощь. Если я могу что-то сделать, чтобы сделать вопрос лучше, пожалуйста, дайте мне знать. Спасибо!

0

Решение

Этот скрипт предназначен для сохранения в локальной файловой системе. Вам понадобится место, куда пользователь www-data (или любой другой пользователь, с которым работает ваша установка) может записать файлы.

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

Или же

Вам нужно будет сохранить файл локально, а затем как-нибудь получить его на файловом сервере. Разоблачение экспорта файловой системы может работать (если у вас есть частная сеть между сервером www и файловым сервером), или вам нужно как-то отправить их туда. Вы можете использовать curl в PHP для передачи изображений, вы можете использовать ssh-ключи без пароля и запускать скрипт оболочки, который выполняет scp на файловый сервер, вы можете синхронизировать время от времени с rsync через ssh. Много вариантов.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]