PHPでFTP接続のパッシブモードを設定する方法


PHPでは、ftp_pasv()関数を使用してパッシブモードを設定することができます。以下に、その使用方法と簡単なコード例を示します。

<?php
// FTP接続の設定
$ftp_server = 'ftp.example.com';
$ftp_username = 'your_username';
$ftp_password = 'your_password';
// FTP接続を確立
$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_username, $ftp_password);
if ($login_result) {
    // パッシブモードを設定
    ftp_pasv($conn_id, true);
    // 他のFTP操作を行うコードを記述
    // FTP接続を閉じる
    ftp_close($conn_id);
} else {
    echo 'FTP接続に失敗しました。';
}
?>

上記のコードでは、ftp_pasv()関数を使用してパッシブモードを有効にしています。ftp_pasv()関数の第一引数には、ftp_connect()関数で取得した接続IDを指定し、第二引数にはtrueを渡しています。trueを渡すことでパッシブモードが有効になります。

このようにして、PHPでFTP接続のパッシブモードを設定することができます。パッシブモードを使用することで、ファイアウォールなどのネットワーク制約下でもFTP接続が可能になります。