phpでsftpファイル転送

Gumblarがftpを利用するということで、弊社サーバもftpサービスを停止いたしました。

以前、個人のパソコンからファイル転送するバッチを作っていたのですが、これがftpで転送をしていたので、sftpに書き直しの必要に迫られました。
どうせ自分のマシンで使うものだから手軽にやっとけ。ってことでphpに決定。

phpはphp.netから最新版のWindows用バイナリを取得。sftp転送にはpeclのphp_ssh2ライブラリはdownloads.php.netより取得

実際は複数ファイルなのでループ回したりしてますが、概ねこんな感じ。

$conn = ssh2_connect('server.com', 22);
if (!ssh2_auth_password($conn, 'userid', 'password')) {
die('【エラー】ログインが拒否されました。\n');
} else {
$sftp = ssh2_sftp($conn);
}
if (!ssh2_scp_send($conn, 'c:\local\path\file.csv', 'remote/path/file.csv', 0644)) {
echo "転送失敗\n";
}

拍子抜けな程アッサリと動きました。
phpは色々便利なライブラリが揃ってるのでこういうちょこっと仕事に非常に便利ですね。

コメントを残す

メールアドレスが公開されることはありません。

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.