2016-07-21 4 views
0
$song = "The Buzzcocks - Orgasm Addict"; 
$songeach = explode("-", $song); 
$artist = trim($songeach[0]); 
$song = trim($songeach[1]); 
echo $artist; 
      //echos 'The Buzzcocks' 
echo $song; 
      //echos 'Orgasm Addict' 

$lyricxml1 = simplexml_load_file('http://api.chartlyrics.com/apiv1.asmx/SearchLyric?artist='.$artist.'&song='.$song.''); 
$lyricchecksum2 = $lyricxml1->SearchLyricResult[0]->LyricChecksum; 
$lyricid = $lyricxml1->SearchLyricResult[0]->LyricId; 

echo $lyricchecksum2; 
      //echos 'c58a88a5cd5550b2793a408d17193af6' 
echo $lyricid; 
      //echos '5497' 

これまでのところ、すべて適切で適切です。simplexml_load_fileストリームを開くことに失敗しました。E_WARNING:タイプ2

しかし、私はここに

$lyricxml2 = simplexml_load_file('http://api.chartlyrics.com/apiv1.asmx/GetLyric?lyricId='.$lyricid.'&lyricCheckSum='.$lyricchecksum2.''); 
print_r($lyricxml2); 

を得れば、私はこのエラーが表示されます。

E_WARNING : type 2 -- simplexml_load_file(http://api.chartlyrics.com/apiv1.asmx/GetLyric?lyricId=5497&lyricCheckSum=c58a88a5cd5550b2793a408d17193af6): failed to open stream: HTTP request failed! -- at line 15 
E_WARNING : type 2 -- simplexml_load_file(): I/O warning : failed to load external entity "http://api.chartlyrics.com/apiv1.asmx/GetLyric?lyricId=5497&lyricCheckSum=c58a88a5cd5550b2793a408d17193af6" -- at line 15 

URL/xmlファイルが適切であるにもかかわらず(手動ブラウザで動作します) http://api.chartlyrics.com/apiv1.asmx/GetLyric?lyricId=5497&lyricCheckSum=c58a88a5cd5550b2793a408d17193af6

そして同じ形式の$ lyricxml1(エコー出力:http://api.chartlyrics.com/apiv1.asmx/SearchLyric?artist=The Buzzcocks &の曲= Orgasm Addict)

+0

複数回試しましたが、すべて失敗しましたか?リクエストが1回失敗したようです。私はあなたの正確なコードをコピーし、私はエラーを再現することができません。 – ebildude123

+0

エラーを再現できません。 2番目のurlで 'simplexml_load_file(...)'を実行すると、すべてが動作します。 – BeetleJuice

+0

うーん..うわー。ええ、私はlocalhostで少なくとも12回も試してみましたが、私もphpfiddle.netで試してみました。私は常に第2のxmlファイルで同じエラーが発生します。私はライブホストで試してみます。 – bbruman

答えて

1

file_get_contents()を使用してファイルを読み込み、simplexml_load_string()を使用してオブジェクトに変換してみることができます。

コード例のように外部ファイルをロードする場合は、curlを使用してデータを取得し、レスポンスにsimplexml_load_string()を使用してオブジェクトに変換します。

関連する問題