2013-04-30

[PHP] パッシブモードでFTPに接続

以前に定時にFTPでファイルをアップロードするためのバッチスクリプトを
作成していたのですが、ネットワーク環境が変わったら、ファイルが正しくアップされなくなりました。
具体的には、ファイルはアップされているのに、ファイルサイズが0になっています。
ログを見ると「425 Failed to establish connection.」のエラーが。

普通にFTPソフトでPASVでアップしたところ問題なくアップできたので、
どうやらルータの変更によって、影響を受けているようです。


いろいろ調べてみて、Windowsファイヤウォールの設定や、quote pasvなど試みたものの
まったくうまくいかず、、バッチでは解決ができませんでした。

このバッチ処理を走らせる前にPHPで作ったスクリプトを実行していて、
もともとこの中にFTPも組み込むつもりでソースを書いていたので、
それを使用することにしました。

下記のコードによってパッシブモードで接続できます。
ftp_pasv($conn_id, true);


参考サイト
http://php.plus-server.net/function.ftp-pasv.html

Comment:

Trackback URL: