2011-12-07 25 views
0

私はrss xmlのフィードデータを画像URLと画像とともにデータベースに保存しています。私のサイトにはURLが表示されています。これは機能とそのうまく機能しています。しかし、rssデータでは、同じ名前のイメージと異なるサイズのイメージが見つかりました。等rssフィードから画像を読み取る

 <item> 
     <media:thumbnail url="http://a.abcnews.com/images/Entertainment/ap_tiger_woods_jp_111205_mn.jpg" width="320" height="240" credit="Danny Moloshok/AP Photo"/> 
     <media:thumbnail url="http://a.abcnews.com/images/Entertainment/ap_tiger_woods_jp_111205_mc.jpg" width="100" height="75" credit="Danny Moloshok/AP Photo"/> 
     <media:thumbnail url="http://a.abcnews.com/images/Entertainment/ap_tiger_woods_jp_111205_mv.jpg" width="264" height="198" credit="Danny Moloshok/AP Photo"/> 
     <media:thumbnail url="http://a.abcnews.com/images/Entertainment/ap_tiger_woods_jp_111205_wl.jpg" width="200" height="112" credit="Danny Moloshok/AP Photo"/> 
     <media:thumbnail url="http://a.abcnews.com/images/Entertainment/ap_tiger_woods_jp_111205_main.jpg" width="413" height="310" credit="Danny Moloshok/AP Photo"/> 
     <media:thumbnail url="http://a.abcnews.com/images/Entertainment/ap_tiger_woods_jp_111205_wmain.jpg" width="640" height="360" credit="Danny Moloshok/AP Photo"/> 
     <media:keywords>1</media:keywords> 
     <title><![CDATA[Change of Plans: Romney Revamps as Gingrich Closes]]></title> 
     <link><![CDATA[http://feeds.abcnews.com/click.phdo?i=b21d3190f683c1e9dd83653255d5e446]]></link> 
    </item> 
     <item> 
     <media:thumbnail url="http://a.abcnews.com/images/International/abc_rq170_unmanned_drone_ll_111205_mn.jpg" width="320" height="240" credit="ABC News"/> 
     <media:thumbnail url="http://a.abcnews.com/images/International/abc_rq170_unmanned_drone_ll_111205_mc.jpg" width="100" height="75" credit="ABC News"/> 
     <media:thumbnail url="http://a.abcnews.com/images/International/abc_rq170_unmanned_drone_ll_111205_mv.jpg" width="264" height="198" credit="ABC News"/> 
     <media:thumbnail url="http://a.abcnews.com/images/International/abc_rq170_unmanned_drone_ll_111205_wl.jpg" width="200" height="112" credit="ABC News"/> 
     <media:thumbnail url="http://a.abcnews.com/images/International/abc_rq170_unmanned_drone_ll_111205_main.jpg" width="413" height="310" credit="ABC News"/> 
     <media:thumbnail url="http://a.abcnews.com/images/International/abc_rq170_unmanned_drone_ll_111205_wmain.jpg" width="640" height="360" credit="ABC News"/> 
     <media:keywords>5</media:keywords> 
     <title><![CDATA[Iran Missing Drone Was on CIA Mission]]></title> 
     <link><![CDATA[http://feeds.abcnews.com/click.phdo?i=42a589abb9eb7a87c2dcaeaaeeb2e383]]></link> 

より...........

これら全ては、サイズが異なると、ワン項目ブロック内の同じ画像です。

と私の機能は、テイクイメージのためだった:

public function getNytimes($site_config = array()){ 
     $xmlContent = self::checkXmlValidator($site_config['rss_link']); 
     if($xmlContent === false){ 
      /*update url if getting any error*/ 
      mysql_query("UPDATE feed_settings SET feed_settings.status = '0', feed_settings.error_log='Time:".date('Y-m-d H:i:s')." Invalid url or resopnse time too more' WHERE feed_settings.rss_link='".$site_config['id']."'"); 
      return false; 
     } 
     $xml1 = new SimpleXMLElement($xmlContent); 
     $child = $xml1->getDocNamespaces(); 
     $xml1->registerXPathNamespace('media', $child['media']); 
     $image_arr = $xml1->xpath('//media:content'); 
     $xml = @simplexml_load_string($xmlContent,'SimpleXMLElement', LIBXML_NOCDATA); 
     for($counter = 0; $counter < sizeof($image_arr); $counter++){ 
      $image = null; 
      $image = @$image_arr[$counter]->attributes()->url; 
     $sql_query = "INSERT INTO news_feeds SET `image_url` = '".$image."', 

が、今回はそのデータベースに6同じ画像を保存します。 1ブロックから1つの画像を取得するにはどうすればよいですか?

答えて

0

画像ジオメトリが固定されている場合は、指定した幅と高さの属性で画像を保存するだけです。

+0

いいえ、イメージジオメトリが修正されていません...次のブロックに変更が続きます – ravinath

+0

"_mn/_mc"のような接尾辞は修正されていますか? – changx

0

保存する画像によって異なります。

$image = @$image_arr[0]->attributes()->url; 

これにより、末尾が_mnの画像が保存されます。スクリプトの終わり付近のforループを削除します。