Display your recent delicious bookmarks with PHP
Posted August 24, 2009 by Brian Cray
Reading time: About 1 minute
This tutorial uses PHP5 to download and cache your recent bookmarks in RSS format from the Delicious API, then displays them in a HTML unordered list.
See this in action on my “Recommended” page under “Recently bookmarked links.”
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | function get_delicious() { $cache = dirname(__FILE__) . '/caches/delicious'; if(filemtime($cache) < (time() - 300)) { @mkdir(dirname(__FILE__) . '/caches', 0777); $url = 'https://api.del.icio.us/v1/posts/recent?count=10'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30); curl_setopt($ch, CURLOPT_TIMEOUT, 5); curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // add delicious.com username and password below curl_setopt($ch, CURLOPT_USERPWD, 'username:password'); $data = curl_exec($ch); curl_close($ch); $cachefile = fopen($cache, 'wb'); fwrite($cachefile, $data); fclose($cachefile); } else { $data = file_get_contents($cache); } $xml = simplexml_load_string($data); $html = '<ul>'; foreach($xml as $item) { $html .= '<li><a href="' . $item['href'] . '">' . $item['description'] . '</a> ' . $item['extended'] . '</li>'; } $html .= '<li><a href="http://delicious.com/briancray">More of Brian Cray\'s delicious bookmarks…</a></li>'; $html .= '</ul>'; echo $html; } // display them get_delicious(); |
This tutorial uses SimpleXML. SimpleXML has been included in PHP5 to make reading XML files into PHP variables much, well, simpler.
7 Article references from other blogs
1102
9 Article comments
Show/add comments