Twitter avatar url almak için SimpleXML Kullanma (garip)

4 Cevap php

Xml durum sayfasından twitter profil avatarı url almak için SimpleXML kullanarak im.

Bu kullanarak kod im

<?
$username = twitter;
$xml = simplexml_load_file("http://twitter.com/users/".$username.".xml");
echo $xml->user->profile_image_url;
?>

I ziyaret ettiğinizde xml sayfa yükler, ama nedense hiçbir şey yankılandı ediliyor. Hata yok. Hiçbir şey.

I bir tarayıcıda ziyaret ettiğinizde, ben bu olsun:

<?xml version="1.0" encoding="UTF-8"?>
<user>
  <id>783214</id>
  <name>Twitter</name>
  <screen_name>twitter</screen_name>
  <location>San Francisco, CA</location>
  <description>Always wondering what everyone's doing.</description>    
  <profile_image_url>http://a1.twimg.com/profile_images/75075164/twitter_bird_profile_normal.png</profile_image_url>
  <url>http://twitter.com</url>.....
  (the rest is long and irrelevant to the question)

Veri var, neden yankı alışkanlık?

4 Cevap

XML belgesini yükledikten sonra, kök eleman user $xml kaydedilen SimpleXMLElement nesnesi tarafından temsil edilmektedir. Bu nedenle $xml->user yoktur.

Bu bir çalışması gerekir:

<?
$username = "twitter";  // <-- You did not use quotes here?! Typo?
$xml = simplexml_load_file("http://twitter.com/users/".$username.".xml");
echo $xml->profile_image_url;  // <-- No $xml->user here!
?>

Bunu belirtmek zorunda değilsiniz - kök öğe (Bu durumda, <user>) ima edilir, çünkü öyle.

Bu deneyin:

echo $xml->profile_image_url;

hey guys - twivatar çalıştı ama ben bir hata 500 hata alıyorum??

Zaten burada ben kullanarak sona erdi kodu - bu yararlı olduğunu nasıl

<?php
if (isset($_REQUEST['user']))

//if "user" is filled out, get the user's twitter picture 

  {
$username = $_REQUEST['user'];
}else{
$username = 'aplusk';

//else lets use ashton kutcher's picture just for the F of it 

}  // <-- You did not use quotes here?! Typo?
$xml = simplexml_load_file("http://twitter.com/users/".$username.".xml");
$timage = $xml->profile_image_url;  // <-- No $xml->user here!
header('location: ' . $timage);
?>

Şimdi her yerde uygulama sadece baskı bu komut dosyasını aramak için son derece kolaydır ...

<img src="http://mywebapp.org/timage.php?user=<php echo $data['twitter_screen_name'];?>" />

Twivatar

Daha önce, twitter avatar almak için en kolay yolu Remy Sharp tarafından yaptırılmıştır Twivatar, kullanımı idi. Hizmet beri kapatıldı Ancak.

Bunun için bir üçüncü taraf kullanarak gereksizdir.