【PHP8.x】curl_pause関数の使い方
作成日: 更新日:
curl_pause関数は、PHPのcURL拡張機能において、実行中のネットワーク転送処理を一時的に停止したり、停止した転送を再開したりする目的で使用される関数です。この関数は、特定のcURLセッションハンドル(curl_init()
関数などで初期化されたもの)を第一引数に受け取ります。第二引数には、転送の制御方法を示すフラグを指定します。
例えば、CURLPAUSE_ALL
フラグを渡すと送受信の両方を一時停止し、CURLPAUSE_RECV
で受信のみ、CURLPAUSE_SEND
で送信のみを一時停止できます。一時停止した転送を再開したい場合は、CURLPAUSE_CONT
フラグを使用します。
関数が正常に実行されると、成功を示すCURLE_OK
を返します。引数が無効である場合や、何らかの理由で操作が実行できなかった場合には、CURLE_BAD_FUNCTION_ARGUMENT
やCURLE_FUNCTION_NOT_PERFORMED
などの適切なエラーコードを返します。
この機能は、大量のデータダウンロード中にユーザーが一時停止ボタンをクリックした際や、ネットワーク状況の変化に応じて転送を一時的に中断し、後で再開するといった、柔軟な通信制御が必要な場面で活用されます。特に、cURLのマルチハンドル機能を用いて複数の非同期転送を管理している際に、個別の転送を細かく制御する場合に有効です。
基本的な使い方
構文(syntax)
function curl_pause(CurlHandle $handle, int $bitmask): int
引数(parameters)
CurlHandle $handle, int $flags
- CurlHandle $handle: 操作対象のcURLセッションを表すCurlHandleオブジェクト
- int $flags: 操作を制御するためのフラグを指定する整数
戻り値(return)
int
curl_pause関数は、指定された状態コードに基づいて、現在の転送操作を一時停止または再開するための定数を返します。成功した場合はCURLE_OK
(0) を返します。