Das folgende Skript funktioniert erfolgreich.Versuchen Sie, den gesamten Inhalt des Verzeichnisses von einem Server zum anderen zu erhalten, indem Sie ssh2_scp_recv in php verwenden
Erste-Datei von einem Server auf einen anderen
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";
}
Aber anstatt für nur eine statische Datei zu holen, möchte ich Ordner in mit all seinen Inhalt holen.
Mit obigen Beispiel das Verzeichnis I zu lokalen Server holen möchte, ist "15721022890870"
/var/www/html/captures/store/2016/04/HK/15721022890870/
Ich habe unten Code versucht, aber nicht funktioniert,
Der Remote-Server-Verzeichnis hat, aber der lokale Server nicht, so will ich Verzeichnis machen, dann kopieren Sie alle ihren Inhalt in
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' unterstützt nicht mehrere Dateikopien. Sie könnten mit 'ssh2_exec' und/oder' ssh2_tunnel' erfolgreich sein, aber nur eine unbewiesene Idee. Was ist deine Umgebung? Haben Sie über 'exec' keinen Zugriff auf das System? Im Allgemeinen, warum benutzt du PHP? –
Der gesamte Server basiert auf Ubuntu, Linux. Ja, ich habe ein Vollzugriffssystem über exec. Der Grund, warum ich PHP dort verwende, ist das Post-Script, bevor ich den Inhalt abrufe. – sanainfotech
Also warum rufst du 'scp' nicht über exec an? Wenn Schlüsselpaar verwendet wird, ist keine Interaktion erforderlich. –