PHPでURLにアクセスし、その結果を受け取る方法は、「file_get_contents」関数を使用する方法と、cURLライブラリを使用する方法があります。
それぞれの方法についてサンプルプログラムを提示して、解説していきたいと思います。
file_get_contents でURLにアクセスする方法
「file_get_contents」関数を使ってURLにアクセスして結果を受け取る方法について解説していきます。
サンプルプログラム
<?php
$url = "https://www.yahoo.co.jp/";
$result = file_get_contents($url);
echo $result;
実行結果:
<!DOCTYPE html><html lang="ja"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/><title>Yahoo! JAPAN</title><meta name="description" content="あなたの毎日をアップデートする情報ポータル。
プログラム解説
URLへアクセスして結果を受け取るには「file_get_contents」関数を使用します。使い方は簡単なのですが、PHP設定のallow_url_fopen
がOnに設定されている必要があります。通常ではOnになっておりますが、もしうまく動作しない場合は、「php.ini」ファイルを確認してみてください。
この部分でアクセスするURLを指定しております。今回はYahoo!JAPANのホームページにしております。
この部分で指定したURLにアクセスして、結果を変数「$result」に格納しております。「file_get_contents」関数は本来ならファイルにアクセスするための関数ですが、なぜかURLアクセスも可能です
受け取った結果を表示しております。この場合は、Yahoo!JAPANのホームページのHTMLソースコードが表示されます。
cURLライブラリでアクセスする方法
PHPでは「file_get_contents」関数を使って簡単にアクセスすることができますが、もう少し高度な操作をしたい場合は、cURLライブラリを使用します。PHPで広く使われているライブラリで、多機能なURL操作が可能です。
サンプルプログラム
<?php
$url = "https://www.yahoo.co.jp/";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
プログラム解説
それでは上のサンプルプログラムについて解説します。
cURLセッションの初期化を行っております。よくわからない場合は、最初にやらなければならない、おまじないと思って、コードに入れておきましょう。
ここでアクセスするURLの設定をしております。
結果を文字列で返却する設定をしております。
この部分で指定したURLにアクセスして、結果を変数「$result」に格納しております。
セッションをクローズしております。cURLを使用した場合の最後に必要なおまじないのようなものです。
cURLライブラリを使用するば、他にもいろいろな高度なアクセスができますが、今回は基本的な使い方を提示するのが目的なので、割愛します。
コメント