the.sandalian.com 

dan Yeni Setiawan pun menulis dengan penuh sukacita.. 

Menampilkan random foto dari Flickr

22 Apr 2008 16:40:40 WIB,under category PHP (237 views)

Baru saja saya menulis script kecil untuk mengambil gambar secara acak dari account Flickr saya. Script ini membutuhkan CURL dan tidak membutuhkan library XML apapun karena RSS feed dari Flickr saya perlakukan seperti file teks biasa.

Saya memanfaatkan fungsi yang pernah saya tulis sebelumnya, yaitu fungsi untuk mengambil konten suatu URL ke dalam suatu variabel:

<?php
function get_content_of_url($url){   
    
$ohyeah curl_init();   
    
curl_setopt($ohyeahCURLOPT_RETURNTRANSFER1);   
    
curl_setopt($ohyeahCURLOPT_URL$url);   
    
$data curl_exec($ohyeah);   
    
curl_close($ohyeah);   
    return 
$data;   
}  
?>

Dan yang kedua adalah fungsi yang baru saja saya tulis. Fungsi ini akan membaca RSS feed dari account saya di Flickr lalu memilah-milah dan mengeluarkan satu link gambar saja:

<?php
function flickrize($url){
    
$stream get_content_of_url($url);
    
$datas =  explode("\n",$stream);

    foreach(
$datas as $data){
        if(
eregi('<link rel="enclosure" type="image/jpeg"',$data)){
            
$image str_replace('<link rel="enclosure" type="image/jpeg" href="','',$data);
            
$image str_replace('" />','',$image);
            
$pics[] = trim($image);
        }
        else{
            continue;
        }
    }

    
$out array_rand($pics);
    return 
$pics[$out];
}
?>

Cara menggunakannya sangat mudah, hanya dengan memasukkan URL dari RSS feed saja. Silahkan Anda buka halaman Flickr Anda lalu view source dari halaman tersebut. Temukan bagian berikut:


    <link href="http://l.yimg.com/www.flickr.com/css/c_flickr.css.v1.826.14" rel="stylesheet" type="text/css">
      <link rel="alternate"    type="application/atom+xml" title="Flickr: Photos &amp;amp; Video from sandalian Atom feed" href="http://api.flickr.com/services/feeds/photos_public.gne?id=94992356@N00&amp;lang=en-us&amp;format=atom">
    <link rel="alternate"    type="application/rss+xml" title="Flickr: Photos &amp;amp; Video from sandalian RSS feed" href="http://api.flickr.com/services/feeds/photos_public.gne?id=94992356@N00&amp;lang=en-us&amp;format=rss_200">

    <link rel="shortcut icon" type="image/ico" href="/favicon.ico">

Nah, link menuju RSS feed adalah http://api.flickr.com/services/feeds/photos_public.gne?id=94992356@N00&lang=en-us&format=rss_200. Mari kita gunakan dalam sampel:

<?php
echo flickrize("http://api.flickr.com/services/feeds/photos_public.gne?id=94992356@N00&amp;lang=en-us&amp;format=rss_200"); ?>

Dan outputnya adalah http://farm1.static.flickr.com/43/79290443_6e9f8581f0_o.jpg, tinggal gunakan dalam tag IMG saja bukan?

Sebagai curhat colongan, script di atas saya gunakan dalam mainan saya yang baru di http://hi.sandalian.com. Desainnya ngambil dari desain web saya jaman jadul, antidiansastro.com (sudah mati). Selamat bersenang-senang ^_^

5 comment

Comment

  1. Goen
    22 Apr 2008 17:38:01
    Sampeyan bisa bikinin buat yang Last.fm juga pow? Yang di WP plugin sekarang Last.fm banyak yang ga gitu bagus.... :|
    Belum pernah nyoba Last.fm tapi ntar coba saya liat-liat dulu.
     
  2. funkshit
    23 Apr 2008 12:20:00
    ngomong.. yang di hi.sandalian mainan apa e ???
    kok cuman gmbar doank .. .
     
  3. Ruud
    05 May 2008 09:07:36
    Kok yang di hi.sandalian cuma satu page aja ya..
    Random photo-nya mana ya ?
     
  4. Jauhari
    06 May 2008 07:20:24
    Kenapa kok gini kang?
    +++

    Fatal error: Call to undefined function get_content_of_url() in /Users/jauhari/Sites/Personal/wp-tester/test/flickr.php on line 3
    +++

    Mohon Bimbingannya
     
  5. Jauhari
    06 May 2008 08:05:40
    Sik mas ketoe ada fungsi belum tak masukkan :D
     
 
Name
Email « Gravatarized
Homepage
preview
Blog ini mendukung gerakan "NO NOFOLLOW" V^_^

HTML tags allowed: <a> <u> <b> <i> <s> <sub> <sup>