PHPでftpでリモートとファイルをやりとりする機会があったので、ざっと試してみた。接続先のサーバは、自分でたて、vsftpdをたてた。
ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
public function ftp_test() { $hostname = 'hostname'; $username = 'testuser'; $password = 'testpass'; $conn = ftp_connect($hostname); if ($conn === false) { return false; } $isSuccess = ftp_login($conn, $username, $password); if (!$isSuccess) { return false; } $isSuccess = ftp_pasv($conn, true); if (!$isSuccess) { return false; } //ディレクトリ移動して一覧取得 ftp_chdir($conn, '/'); $entries = ftp_nlist($conn, '.'); var_dump($entries); //取得 ftp_get($conn, '/path/to/local/gettest.txt', '/path/to/remote/gettest.txt', FTP_BINARY); //送信 ftp_put($conn, '/path/to/remote/sendtest.txt', '/path/to/local/sendtest.txt', FTP_BINARY); ftp_close($conn); } |
コメント