私はphpseclibを自分で発見しました。これを私のコードのために使いたいと思います。何とか私はどのように私は1つのsftpディレクトリから他のsftpディレクトリにファイルをコピーすることができます見つけることができません。あなたがこれで私を助けることができれば素晴らしいだろう。phpseclibでリモートファイルをコピーまたは移動するにはどうしたらいいですか?
例:
コピーのすべてのファイル
/JN/XML/
へ/JN/XML /バックアップ/
私はphpseclibを自分で発見しました。これを私のコードのために使いたいと思います。何とか私はどのように私は1つのsftpディレクトリから他のsftpディレクトリにファイルをコピーすることができます見つけることができません。あなたがこれで私を助けることができれば素晴らしいだろう。phpseclibでリモートファイルをコピーまたは移動するにはどうしたらいいですか?
例:
コピーのすべてのファイル
/JN/XML/
へ/JN/XML /バックアップ/
はこれを試してみてください。
$dir = "/jn/xml/";
$files = $sftp->nlist($dir, true);
foreach($files as $file)
{
if ($file == '.' || $file == '..') continue;
$sftp->put($dir."backup".'/'.$file, $sftp->get($dir.'/'.$file);
}
このコードは、 "/ jn/xml /"ディレクトリの内容を "/ jn/xml/backup"にコピーします。
これは尋ねられたことを行うべきだと思います。
私はphpseclibをインポートするためにcomposerを使用しました。これは私がテストしたコードではありませんが、他の回答からは構文が正しいはずです。
<?php
include('Net/SFTP.php');
// connection
$sftp = new Net_SFTP('website.com');
if (!$sftp->login('user', 'pass')) {
exit('bad login');
}
// Use sftp to make an mv
$sftp->exec('mv /jn/xml/* /jn/xml/backup/');
注:
echo $sftp->exec(...
を実行してください。
これはローカルディレクトリを作成し、リモートのsftp内のすべてのファイルを、作成されたthyeディレクトリのローカルマシンにダウンロードします。ヤンノイマンが求めたものではありません。 –
@LawrenceGandhar - タイプミスがあったようです。私はディレクトリを作成しましたが、新しく作成したディレクトリには書き込んでいませんでした。コードを更新しました。しかし、明白なタイプミスの場合には実際に編集して修正するのではなく、自由にダウンボートしてください! – neubert
差異:http://stackoverflow.com/posts/36558913/revisions – neubert