автоматическая передача файлов с использованием php - PullRequest
1 голос
/ 17 октября 2011

Мне нужна информация о следующем рабочем процессе и о том, как я могу его выполнить.

Я не могу подробно рассказать о том, что такое работа, но вот рабочий процесс.

У меня будет админ-панель на одном сервере и пользовательский интерфейс на другом. Ежедневные пользователи будут входить в панель администратора и создавать изображения, которые будут отображаться в пользовательском интерфейсе. Он состоит из обновления базы данных и нескольких файлов изображений.

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

Все файлы будут в одной папке, и эту папку необходимо будет перенести.

Кроме того, создаваемые файлы имеют размер около 100 МБ, поэтому, если это возможно, можно ли использовать SSH для автоматической передачи файлов?

Ответы [ 3 ]

1 голос
/ 17 октября 2011

Если вы используете exec() или system(), вы можете напрямую звонить в оболочку для передачи любым удобным вам способом. Вы можете использовать wput, ftp, rsync, scp и т. Д.

0 голосов
/ 18 октября 2011

Я бы порекомендовал использовать phpseclib, чистую реализацию PHP SFTP . например.

<?php
include('Net/SFTP.php');

$sftp = new Net_SFTP('www.domain.tld');
if (!$sftp->login('username', 'password')) {
    exit('Login Failed');
}

echo $sftp->pwd() . "\r\n";
$sftp->put('remote.file', 'local.file', NET_SFTP_LOCAL_FILE);
print_r($sftp->nlist());
?>
0 голосов
/ 17 октября 2011

Используйте exec() или passthru() или system() и вызовите системные функции для передачи файлов. rsync по SSH может быть хорошим решением.

...