PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのFTPコンテキストオプションの使い方を徹底解説

はじめに

PHPでは、ftp:// および ftps:// ラッパー(トランスポート)に対してストリームコンテキストオプションを指定することで、FTP通信の挙動を細かく制御できます。利用可能な主なコンテキストオプションは以下のとおりです。

overwriteアップロード時に、リモートサーバー上にすでに存在するファイルの上書きを許可します。ダウンロード時には効果がありません。
resume_pos転送を開始するファイル内のオフセット位置を指定します。ダウンロード時にのみ適用され、デフォルト値は0(ファイルの先頭)です。大きなファイルの中断からの再開などに役立ちます。
proxyHTTPプロキシサーバー経由でFTPリクエストを中継します。ファイルの読み取り操作にのみ適用されます。指定例:tcp://squid.example.com:8000

これらのオプションは、stream_context_create() 関数で作成したコンテキストリソースとして fopen() などに渡すことで利用できます。

使用例

次の例では、overwrite オプションを有効にしたコンテキストを作成し、fopen() による書き込み時にFTPサイト上の既存ファイルを上書きできるようにしています。

<?php
$ftp_path = 'ftp://username:password@example.com/example.txt';
$stream_options = array('ftp' => array('overwrite' => true));
$stream_context = stream_context_create($stream_options);
$fh = fopen($ftp_path, 'w', 0, $stream_context);
fputs($fh, 'Hello World');
fclose($fh);
?>

このコードでは、まず接続情報を含むFTPのURLを定義し、次に「overwrite」をtrueに設定したオプション配列からコンテキストを生成しています。そのコンテキストを第4引数として fopen() に渡すことで、example.txt がすでに存在していても上書きして書き込めるようになります。認証情報はURLに直接埋め込んでいますが、実運用では設定ファイルや環境変数で管理し、コード内に平文で残さないように注意してください。

  1. PHPファイルとは?開き方・編集・変換方法をわかりやすく解説

    PHPファイルとは .phpという拡張子を持つファイルは、PHP(Hypertext Preprocessor)のソースコードが記述された「PHPソースコードファイル」です。主にWebページのファイルとして利用され、Webサーバー上で動作するPHPエンジンによってHTMLを生成します。 ブラウザに表示されるのは、PHPエンジンがコードから生成したHTMLコンテンツです。PHPコードはサーバー側で実行されるため、PHPページにアクセスしてもコードそのものは見えず、サーバーが生成したHTMLだけを受け取る仕組みになっています。 なお、PHPソースコードファイルの中には、.phtml、.php3、.

  2. PHPのtempnam()関数とは?使い方とサンプルコードを解説

    PHPのtempnam()関数は、一意(ユニーク)なファイル名を持つ一時ファイルを作成するための関数です。指定したディレクトリ内に実際にファイルが生成され、そのファイル名が返されます。既存のファイルと名前が衝突しないことが保証されているため、キャッシュやデータの一時保存などに便利です。 構文 tempnam(dir, prefix) パラメータ dir − 一時ファイルを作成するディレクトリを指定します。 prefix − 作成されるファイル名の先頭に付ける接頭辞(プレフィックス)を指定します。 戻り値 tempnam()関数は、成功した場合は新しく作成された一