{category}

PHP - cURL

curl_exec()

カール・エグゼック(ネットワーク・API・データ交換

意味 cURLセッションを実行する関数


curl_exec()とは?

curl_exec()は、PHPでcURLセッションを実行するための関数です。設定されたcURLハンドル(cURLセッションを管理する変数)に基づいてリクエストを送信し、その結果を取得します。ウェブページの内容を取得したり、APIにリクエストを送ったりする際によく使用されます。

curl_exec()の具体的な使い方

cURLを使用したGETリクエストの実行

<?php
// cURLセッションを初期化
$ch = curl_init('https://api.example.com/users');

// オプションを設定
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => ['Accept: application/json'],
]);

// リクエストを実行
$response = curl_exec($ch);

// エラーチェック
if ($response === false) {
    echo 'cURLエラー: ' . curl_error($ch);
} else {
    // JSONレスポンスをデコード
    $data = json_decode($response, true);
    
    // 結果を表示
    if (json_last_error() === JSON_ERROR_NONE) {
        echo "取得したユーザー数: " . count($data['users']) . "\n";
        foreach ($data['users'] as $user) {
            echo "ID: {$user['id']}, 名前: {$user['name']}\n";
        }
    } else {
        echo "JSONデコードエラー: " . json_last_error_msg();
    }
}

// cURLセッションを閉じる
curl_close($ch);

👇出力結果

取得したユーザー数: 3
ID: 1, 名前: 山田太郎
ID: 2, 名前: 鈴木花子
ID: 3, 名前: 佐藤次郎

この例では、curl_exec()を使用してAPIにGETリクエストを送信し、ユーザー情報を取得しています。curl_setopt_array()で複数のオプションを一度に設定し、レスポンスをJSON形式で受け取るようにしています。リクエスト実行後、エラーチェックを行い、成功した場合はJSONデータをデコードして結果を表示しています。

curl_exec()に関するよくある質問

Q. curl_exec()の戻り値は何ですか?
A. curl_exec()の戻り値は、リクエストの結果によって異なります。成功した場合、CURLOPT_RETURNTRANSFERオプションが設定されていればレスポンスの内容を文字列として返し、設定されていなければtrueを返します。失敗した場合はfalseを返します。
Q. curl_exec()後のエラーチェック方法は?
A. curl_exec()の戻り値がfalseかどうかをチェックし、falseの場合はcurl_error()関数を使用してエラーメッセージを取得できます。また、curl_errno()関数でエラーコードを取得することも可能です。
Q. curl_exec()を使う前に必要な設定は?
A. curl_exec()を使う前に、最低限curl_init()でセッションを初期化し、必要に応じてcurl_setopt()で各種オプションを設定する必要があります。よく使われるオプションには、CURLOPT_RETURNTRANSFER(結果を文字列として返す)やCURLOPT_URL(URLを設定)などがあります。

curl_exec()が学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、PHPのcurl_exec()やcurl_close()、file_get_contents()、XML-RPC、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


PHPを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!PHPはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

curl_close()

cURLセッションを終了する関数

種類: cURL

file_get_contents()

ファイルやURLの内容を取得

種類: HTTP リクエスト

XML-RPC

XMLベースのリモート手続き呼び出し

種類: Webサービス

namespace

名前の衝突を避ける仕組み

種類: 名前空間

mb_strlen()

マルチバイト文字列の長さを取得

種類: マルチバイト文字列