file_get_contentsが使えない時の対処方法
file_get_contentsがレンタルサーバー等で使えない時の対処方法です。
URLからファイルを読み込む設定のallow_url_fopenの設定がセキュリティのためOFFになっているのでfile_get_contentsが出来ないことがあります。
何故、allow_url_fopenがOFFになっているのか?
これは外部のファイルを参照した場合、ファイル内に攻撃性のあるコードやウィルスが仕組まれていた場合、ファイルを読み込んだサイトの情報の流出やサイト閲覧者に攻撃を加える可能性があるためです。
上記に書いた、セキュリティの観点からレンタルサーバー等では外部URLのファイルを読み込めないようにしているところがあります。
ただ、それでも使いたい場合はありますよね・・・
対処方法は色々です。
php.iniの設定を変更できるのであればphp.iniを変更。
ini_set("allow_url_fopen",1);
cURLを使用してfile_get_contentsと同様の動作を行う。
<?php $url = "http://scrap.php.xdomain.jp"; // 対象のURL $ch = curl_init(); // 初期化 curl_setopt( $ch, CURLOPT_URL, $url ); // URLの設定 curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); // 出力内容を受け取る設定 $result = curl_exec( $ch ); // データの取得 curl_close($ch); // cURLのクローズ echo $result; // 取得内容を出力 ?>上記の処理を関数化すればfile_get_contentsの代わりにすることが可能です。
«前の記事:Google Maps APIで地図にマーカーや吹き出しをつけるHTML5 バッテリーAPI:次の記事»
No Responses