PHP マニュアル
前のページ |  | 次のページ

# XLV. FTP 関数

# 導入

この拡張モジュールの関数は、http://www.faqs.org/rfcs/rfc959 で定義された File Transfer Protocol (FTP) を使用してファイルサーバに アクセスするクライアントの実装です。この拡張を利用することで、FTP サーバにアクセスしてさまざまな操作をするスクリプトを作成することができます。 ただ単に FTP サーバ上のファイルを読み書きしたいだけなら、 ファイルシステム関数 で ftp:// ラッパ を用いることを考えてください。こちらのほうがシンプルで直感的な インターフェースを提供します。

# 要件

外部ライブラリを必要としません。

# インストール手順

PHP で FTP 関数を使用するには、PHP 4 をインストールする際には --enable-ftp オプション、 PHP 3 を使用する場合には --with-ftp を追加する必要があります。

Windows 版の PHP には この拡張モジュールのサポートが組み込まれています。これらの関数を使用 するために拡張モジュールを追加でロードする必要はありません。

# 実行時設定

設定ディレクティブは定義されていません。

# リソース型

この拡張モジュールは、1 種類のリソース型を使用します。これは FTP 接続のリソース ID で、ftp_connect() あるいは ftp_ssl_connect() により返されたものです。

# 定義済み定数

以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。

`FTP_ASCII` (integer)

`FTP_TEXT` (integer)

`FTP_BINARY` (integer)

`FTP_IMAGE` (integer)

`FTP_TIMEOUT_SEC` (integer)

  詳細は、ftp_set_option() を参照ください。

以下の定数は、PHP 4.3.0で追加されました。

`FTP_AUTOSEEK` (integer)

  詳細は、ftp_set_option() を参照してください。

`FTP_AUTORESUME` (integer)

  GET および PUT リクエスト用のレジューム位置と開始位置を自動的に 定義します（FTP_AUTOSEEK が有効な場合のみ動作します）。

`FTP_FAILED` (integer)

  非同期伝送が失敗しました。

`FTP_FINISHED` (integer)

  非同期伝送が終了しました。

`FTP_MOREDATA` (integer)

  非同期伝送がまだアクティブです。

# 例

例 1. FTP の例
`<?php // 接続を確立する $conn_id = ftp_connect($ftp_server); // ユーザ名とパスワードでログインする $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); // 接続できたか確認する if ((!$conn_id) || (!$login_result)) { echo "FTP connection has failed!"; echo "Attempted to connect to $ftp_server for user $ftp_user_name"; exit; } else { echo "Connected to $ftp_server, for user $ftp_user_name"; } // ファイルをアップロードする $upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY); // アップロード状況を確認する if (!$upload) { echo "FTP upload has failed!"; } else { echo "Uploaded $source_file to $ftp_server as $destination_file"; } // FTP ストリームを閉じる ftp_close($conn_id); ?>`

前のページ | ホーム | 次のページ
fbsql_warnings | 上に戻る | ftp_alloc