PHPを使用してリモートサーバーからxmlデータを取得したい.これはxmlを取得するための私のコードですが、bool(false)を取得しました
<?php
header ("content-type: text/plain");
$filename = file_get_contents("http://gep4.com/radio/wp-content/plugins/haze_radio/readme.txt");
var_dump($filename);
?>
これを試して、動作しているデータを取得してください
function getPage($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 20);
curl_setopt($ch, CURLOPT_REFERER, 'http://www.google.com/');
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8');
$result['EXE'] = curl_exec($ch);
$result['INF'] = curl_getinfo($ch);
$result['ERR'] = curl_error($ch);
curl_close($ch);
unset($url, $referer, $agent, $header, $timeout);
return $result;
}
$url = "http://gep4.com/radio/wp-content/plugins/haze_radio/readme.txt";
var_dump(getPage($url) );
これは、ファイルのコンテンツを取得中にエラーが発生したことを意味します。ファイルが存在すること、またはファイルなどを読み取る権限があることを確認しましたか?
戻り値
この関数は、読み取りデータまたは失敗した場合に FALSE を返します。
おそらくphp.iniでallow_url_fopenが無効になっています
php.ini にアクセスできる場合は有効にします。
または、代わりにCURLを試してください
サンプル CURL 呼び出し
$ch = curl_init();
// set url
curl_setopt($ch, CURLOPT_URL, "example.com");
//return the transfer as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// $output contains the output string
$output = curl_exec($ch);
// close curl resource to free up system resources
curl_close($ch);