Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【PHP8.x】CURLOPT_RANGE定数の使い方

CURLOPT_RANGE定数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

CURLOPT_RANGE定数は、PHPのcURL拡張機能において、HTTPリクエストのRangeヘッダを設定するためのオプションを表す定数です。この定数を使用することで、Webサーバーに対してリソース(ファイルなど)の全体ではなく、指定された特定の部分のみを要求することが可能になります。例えば、大きなファイルのダウンロードを途中から再開する「レジューム機能」や、動画ファイルのシーク(再生位置の移動)機能などを実装する際に利用されます。

具体的には、curl_setopt()関数にこのCURLOPT_RANGE定数を第一引数として指定し、第二引数には取得したいバイト範囲を示す文字列を渡します。この文字列はHTTPのRangeヘッダの形式に従い、「0-499」のように開始バイトと終了バイトを指定したり、「500-」のように開始バイトから最後までを指定したり、「-100」のように最後の100バイトを指定したりすることができます。

このオプションを設定してcURLリクエストを実行すると、サーバーは通常、指定された範囲のデータと、その範囲を示すContent-Rangeヘッダを含む部分的なレスポンスを返します。ただし、WebサーバーがRangeリクエストをサポートしていない場合や、リクエストされた範囲が無効な場合には、サーバーは異なる挙動を示すことがありますので、その点には注意が必要です。システムエンジニアを目指す上で、効率的なデータ転送や信頼性の高いファイルダウンロード機能を構築する際に重要な定数の一つです。

構文(syntax)

1<?php
2$ch = curl_init("http://example.com/data.txt");
3curl_setopt($ch, CURLOPT_RANGE, "0-1023");
4?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません

関連コンテンツ