2016-07-21 5 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 : type 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

여러 번 시도했는데 모두 실패 했습니까? 요청이 방금 한 번 실패한 것처럼 보입니다. 정확한 코드를 복사했는데 오류를 재현 할 수 없습니다. – ebildude123

+0

오류를 재현 할 수 없습니다. 두 번째 url로'simplexml_load_file (...)'을 실행하면 모든 것이 작동합니다. – BeetleJuice

+0

음 ... 와우. 네, localhost에서 적어도 12 번 시도했는데 phpfiddle.net을 시도했는데 항상 두 번째 xml 파일에서 같은 오류가 발생합니다. 나는 살아있는 호스트에 노력할 것입니다. – bbruman

답변

1

file_get_contents()을 사용하여 파일을로드 한 다음 simplexml_load_string()을 사용하여 파일을 개체로 만들 수 있습니다.

코드 예제와 같이 외부 파일을로드하는 경우 curl을 사용하여 데이터를 가져온 다음 응답에 simplexml_load_string()을 사용하여 개체로 변환 할 수 있습니다.

관련 문제