2014-04-24 1 views
0

저는 PHP 프로그래밍의 초보자이고 Googleing을 통해 몇 시간 씩 노력해 왔습니다. 그러나 나는 운이 없네. 누군가가 나를 도울 수 있기를 바랍니다 :-)Last.fm track.getinfo에서 이미지 가져 오기

내가하려고하는 것은 Last.FM API를 사용하여 단일 트랙의 표지 이미지를 얻는 것입니다. XML에서 이미지 태그를 찾을 때 작동하지만 Last.FM의 XML 파일에 없으면 PHP 스크립트는 많은 오류를 출력하고 여전히 문서에 깨진 이미지를 삽입하려고합니다. 스크립트에서 XML의 이미지 태그를 찾고 이미지를 표시하고 찾지 못하면 일반 이미지를 표시하고 싶습니다.

이것은 내 코드입니다 (여기서 XML 파일의 URL은 이미지 작업 중입니다).

<?php 
$img = simplexml_load_file('http://ws.audioscrobbler.com/2.0/?method=track.getInfo&api_key=f5f149ffcdf2e0db0888f6c477c4abc1&artist=cher&track=believe'); 
echo '<img src="'; 
echo $img->track[0]->album[0]->image[3]; 
echo '">'; 
?> 

나는 모든 것을 시도했지만 그 사실을 알 수 없습니다. 누구든지 이걸 도와주고 싶어?

답변

1

xpath를 사용하여 해당 이미지를 쿼리 할 수 ​​있으며 결과가없는 경우 기본 src 값을 제공하십시오.

또한 사용자가 만든 그 HTML을 인코딩해야합니다

list($src) = $img->xpath('/*/track[1]/album[1]/image[4]')? 
      :['http://example.com/path/to/default.png']; 

printf('<img src="%s">', htmlspecialchars($src));