Приведенный ниже скрипт успешно работает.
Получение файла с одного сервера на другой
if(ssh2_scp_recv($conn, '/var/www/html/captures/store/2016/04/HK/15721022890870/test/vcredist.bmp',
'/var/www/html/captures/store/2016/04/HK/15721022890870/test/vcredist.bmp')){
echo "\n recevied \n";
}else{
echo "\n not recevied\n";
}
Но вместо того, чтобы получить только статический файл, я хочу получить папку со всем ее содержимым внутри.
В приведенном выше примере каталог, который я хотел бы получить на локальный сервер, — «15721022890870».
/var/www/html/captures/store/2016/04/HK/15721022890870/
Я пробовал код ниже, но не работает,
На удаленном сервере есть каталог, но на локальном сервере его нет, поэтому я хочу создать каталог, а затем скопировать все его содержимое внутрь
if(ssh2_scp_recv($conn, '/var/www/html/captures/store/2016/04/HK/15721022890870/',
'/var/www/html/captures/store/2016/04/HK/')){
echo "\n recevied done \n";
}else{
echo "\n not done \n";
}
ssh2_scp_recv
не поддерживает несколько копий файлов. Вы можете добиться успеха сssh2_exec
и/илиssh2_tunnel
, но это всего лишь недоказанная идея. Каково ваше окружение? У вас нет доступа к системе черезexec
? Вообще, почему вы используете PHP? - person Quasimodo's clone   schedule 10.05.2016scp
через exec? При использовании пары ключей взаимодействие не требуется. - person Quasimodo's clone   schedule 10.05.2016