アサイン先でFTP通信のバッチ作成を頼まれた際に、自宅のPCにFTPサーバーを構築して練習した時の備忘録です。
「サーバー構築」というとなんだか難しく感じる方もいらっしゃるかと思いますが、とても簡単です。
※セキュリティ的な部分は加味しておりませんので、あしからず。。
FTP
そもそも「FTP」とは?から始まる初心者の方も多いのではないでしょうか。
「FTP」とは…
File Transfer Protocol(ファイル・トランスファー・プロトコル)の略で、
意訳?すると「ファイルを送受信する決まり事」です。
FTPはインターネットと同い年の歴史ある技術なので、すべてを把握することは難しいんだとか。。
実務的には「ファイルを送受信するときに使うもの!!」で充分だと思ってます。。。思ってます!!
FTPサーバー構築
それでは早速、自宅のPCにFTPサーバーを構築する手順を紹介したいと思います。
※画像の随所にプライバシー保護をちりばめております。
まずは、「windowsの機能」と検索ボックスに入れてみる。
予測変換で、「Windowsの機能の有効化または無効化」が出てくるのでクリック。
ダイアログが出てくるので、
「インターネットインフォメーションサービス」の+ボタンをクリック。
「FTPサーバー」配下の「FTP Service」にチェックを入れる。
さらに、「Web管理ツール」配下の「IIS管理コンソール」にもチェックを入れる。
OKボタンを押してダイアログを閉じる。
次に「コンピュータの管理」を表示させる。
「サービスとアプリケーション」配下の「インターネットインフォメーションサービス(IIS)マネージャー」をクリック。
右側に出てくる、接続欄の空白の部分で右クリックし、
「FTPサイトの追加…」をクリック。
こんなのが出てくるのでとりあえず入力。
私はこんな感じで設定しております。
FTPサイト名が「名前」
物理パスはデスクトップに作成したフォルダに設定。
確認環境の構築
上記の設定ができればFTPサーバーの構築は終了します。
次はFTPサーバーへの接続のご紹介。
ここでは「FileZilla」を使用しております。
必要入力事項は以下の3つ
・ホスト名 → 「localhost」でOK
・ユーザ名 → 自宅PCのユーザ名
・パスワード → 自宅PCのパスワード
接続が成功したら、練習環境の完成です!!!
それでは早速FTP通信を試してみましょう。
今回はこんなディレクトリ構成にしてみました。
↳ftp_test
↳lib
↳ftp_test.php
ftp_test.phpはこんな感じ。
・file_put_contentsで「test_put.csv」を作成(第2引数はCSVのファイルの内容)
・ftp_connectでFTP接続を開始
・ftp_loginで該当FTPサーバーにログイン
・ftp_putで「lib」配下に作成した「test_put.csv」を、FTPサーバー構築の際、物理パスに指定したフォルダに送信
コマンドでいざ実行!
(バッチの作成なのでコマンドからやってます。)
無事リモートサイト(デスクトップに作成している物理パス配下)に
「test_put.csv」が送られてきました。
まとめ
FTP通信のバッチ作成といわれると、
最初はえ?ん?はっ?となるかと思いますが、
中身はそれほど難しくありません。
もちろんここからエラーハンドリング等のサーバー側の処理が入ってくるわけですが、
調べて備えて予習しておけば恐るるに足りません!!(足ることもありますが。。。)
常に学習する意欲をもって仕事に臨みたいと思えたタスクでした。