PEAR:Net_FTPでFTPサーバーに接続する

リンクシェアのマーチャンダイザープログラムで使う予定のFTP接続に関する覚書。通常はFFFTPなどからファイル名を指定して商品データファイルをダウンロードしますが、これをPEARのNet_FTPをつかってダウンロードできるようにしたいので使い方を勉強しています。

ちなみにリンクシェアで提供されているサンプルソースを参考にしています。 

PEAR:Net_FTPについて

Net_FTP は、FTP サーバとの快適な通信を提供します。主な機能は PHPの組み込み FTP 関数に対するオブジェクト指向ラッパです。また、指定したフォルダ以下の再帰的なアップロードやダウンロード、指定したフォルダ以下の再帰的な削除等組み込みFTP 関数には含まれない機能も提供します。ディレクトリ内の一覧機能は、より構造化された形式でディレクトリやファイルを扱えるように拡張されています。

FTPサーバーに接続する

サーバーに接続してログインするまでのスクリプトです。インスタンスを作成してconnect()で接続、login()するだけです。

connect()
FTP サーバとの通信のための新規オブジェクトを生成します。引数は接続先ホスト(IPアドレスかドメイン)とポート番号になります。
例:$test->connect(‘aftp.linksynergy.com’, 21);

login()
接続した FTP サーバにログインします。事前に FTP サーバに 接続していなければなりません。ユーザ名とパスワードは、 パラメータで指定することができます。あるいは事前に (set メソッドで)設定しておくことも可能です。
例:$test->login(‘myuser’, ‘mypass’);

PEARを使うときの注意

レンタルサーバーのロリポップやチカッパでは必要なPEARがインストールされていないときがあります。このNet_FTPもありません。

そのときは自分のサーバースペースにPEARをインストールします。pear等の適当な名前のディレクトリをつくり、そこに必要なだけPEARパッケージをインストールすることになります。

その場合、include_pathが正しく設定されていないとreqiore_once()で読み込みを失敗してしまうので、.htaccessファイルでphp.iniの設定を変えておきましょう。

ロリポップにないPEARをインストールする方法

そうのひとりごと

© 2017 PAOLOG