<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Wall on Details...</title>
    <link>https://www.deepreflect.net/tags/wall/</link>
    <description>Recent content in Wall on Details...</description>
    <generator>Hugo</generator>
    <language>en-US</language>
    <copyright>Copyright © 2003 - 2026 Leonardo Rizzi</copyright>
    <lastBuildDate>Tue, 30 Jun 2026 03:28:29 +0200</lastBuildDate>
    <atom:link href="https://www.deepreflect.net/tags/wall/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>PHP &amp; FlickrAPI - Photo wall</title>
      <link>https://www.deepreflect.net/2010/03/19/php-flickrapi-photo-wall/</link>
      <pubDate>Fri, 19 Mar 2010 03:29:33 +0000</pubDate>
       <guid isPermaLink="false">http://blog.deepreflect.net/?p=860</guid> 
      <description>&lt;p&gt;I wrote a simple code/class for automatic get photos from flickr photostream (by service API)  to compose randomly a nice miniature photowall (you can see an example on my homepage).&lt;/p&gt;
&lt;p&gt;First of all you can need API code (only key, we don&amp;rsquo;t need secret authentication).&lt;/p&gt;
&lt;p&gt;Now the code, my class file was called lib/fget.php in here we define variable, class and function construct:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;?&lt;/span&gt;php
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; Flickr {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt;API Key you can get them on http:&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt;www&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;flickr&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;com&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;services&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;apps&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;create&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;apply&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	private &lt;span style=&#34;color:#f92672&#34;&gt;$&lt;/span&gt;apiKey &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;xxxx&amp;#39;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt;We define our numeric username http:&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt;www&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;flickr&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;com&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;services&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;api&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;explore&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;?&lt;/span&gt;method&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;flickr&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;people&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;getInfo
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	private &lt;span style=&#34;color:#f92672&#34;&gt;$&lt;/span&gt;NSID &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;xxxx&amp;#39;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;File&lt;/span&gt; per page (max file &lt;span style=&#34;color:#ae81ff&#34;&gt;200&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; free account)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	private &lt;span style=&#34;color:#f92672&#34;&gt;$&lt;/span&gt;ppage &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;400&amp;#39;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	public function __construct() {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	public function retrive() {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt;For get data we use REST method &lt;span style=&#34;color:#f92672&#34;&gt;and&lt;/span&gt; serialize option
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#f92672&#34;&gt;$&lt;/span&gt;getdata &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;https://flickr.com/services/rest/?method=flickr.photos.search&amp;amp;api_key=&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;$&lt;/span&gt;this&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;apiKey &lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;amp;user_id=&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;$&lt;/span&gt;this&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;NSID &lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;amp;per_page=&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;$&lt;/span&gt;this&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;ppage &lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;amp;format=php_serial&amp;#39;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt;Get the data
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#f92672&#34;&gt;$&lt;/span&gt;result &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; file_get_contents(&lt;span style=&#34;color:#f92672&#34;&gt;$&lt;/span&gt;getdata);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt;De serialize &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; array use
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#f92672&#34;&gt;$&lt;/span&gt;result &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; unserialize(&lt;span style=&#34;color:#f92672&#34;&gt;$&lt;/span&gt;result);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;$&lt;/span&gt;result;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;?&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Now include the class into a sample page:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I wrote a simple code/class for automatic get photos from flickr photostream (by service API)  to compose randomly a nice miniature photowall (you can see an example on my homepage).</p>
<p>First of all you can need API code (only key, we don&rsquo;t need secret authentication).</p>
<p>Now the code, my class file was called lib/fget.php in here we define variable, class and function construct:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-gdscript3" data-lang="gdscript3"><span style="display:flex;"><span><span style="color:#f92672">&lt;</span><span style="color:#960050;background-color:#1e0010">?</span>php
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">class</span> Flickr {
</span></span><span style="display:flex;"><span>	<span style="color:#f92672">//</span>API Key you can get them on http:<span style="color:#f92672">//</span>www<span style="color:#f92672">.</span>flickr<span style="color:#f92672">.</span>com<span style="color:#f92672">/</span>services<span style="color:#f92672">/</span>apps<span style="color:#f92672">/</span>create<span style="color:#f92672">/</span>apply<span style="color:#f92672">/</span>
</span></span><span style="display:flex;"><span>	private <span style="color:#f92672">$</span>apiKey <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;xxxx&#39;</span>;
</span></span><span style="display:flex;"><span>	<span style="color:#f92672">//</span>We define our numeric username http:<span style="color:#f92672">//</span>www<span style="color:#f92672">.</span>flickr<span style="color:#f92672">.</span>com<span style="color:#f92672">/</span>services<span style="color:#f92672">/</span>api<span style="color:#f92672">/</span>explore<span style="color:#f92672">/</span><span style="color:#960050;background-color:#1e0010">?</span>method<span style="color:#f92672">=</span>flickr<span style="color:#f92672">.</span>people<span style="color:#f92672">.</span>getInfo
</span></span><span style="display:flex;"><span>	private <span style="color:#f92672">$</span>NSID <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;xxxx&#39;</span>;
</span></span><span style="display:flex;"><span>	<span style="color:#f92672">//</span><span style="color:#a6e22e">File</span> per page (max file <span style="color:#ae81ff">200</span> <span style="color:#66d9ef">for</span> free account)
</span></span><span style="display:flex;"><span>	private <span style="color:#f92672">$</span>ppage <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;400&#39;</span>;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>	public function __construct() {
</span></span><span style="display:flex;"><span>	}
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>	public function retrive() {
</span></span><span style="display:flex;"><span>		<span style="color:#f92672">//</span>For get data we use REST method <span style="color:#f92672">and</span> serialize option
</span></span><span style="display:flex;"><span>		<span style="color:#f92672">$</span>getdata <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;https://flickr.com/services/rest/?method=flickr.photos.search&amp;api_key=&#39;</span> <span style="color:#f92672">.</span> <span style="color:#f92672">$</span>this<span style="color:#f92672">-&gt;</span>apiKey <span style="color:#f92672">.</span> <span style="color:#e6db74">&#39;&amp;user_id=&#39;</span> <span style="color:#f92672">.</span> <span style="color:#f92672">$</span>this<span style="color:#f92672">-&gt;</span>NSID <span style="color:#f92672">.</span> <span style="color:#e6db74">&#39;&amp;per_page=&#39;</span> <span style="color:#f92672">.</span> <span style="color:#f92672">$</span>this<span style="color:#f92672">-&gt;</span>ppage <span style="color:#f92672">.</span> <span style="color:#e6db74">&#39;&amp;format=php_serial&#39;</span>;
</span></span><span style="display:flex;"><span>		<span style="color:#f92672">//</span>Get the data
</span></span><span style="display:flex;"><span>		<span style="color:#f92672">$</span>result <span style="color:#f92672">=</span> file_get_contents(<span style="color:#f92672">$</span>getdata);
</span></span><span style="display:flex;"><span>		<span style="color:#f92672">//</span>De serialize <span style="color:#66d9ef">for</span> array use
</span></span><span style="display:flex;"><span>		<span style="color:#f92672">$</span>result <span style="color:#f92672">=</span> unserialize(<span style="color:#f92672">$</span>result);
</span></span><span style="display:flex;"><span>		<span style="color:#66d9ef">return</span> <span style="color:#f92672">$</span>result;
</span></span><span style="display:flex;"><span>	}
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span><span style="color:#960050;background-color:#1e0010">?</span><span style="color:#f92672">&gt;</span>
</span></span></code></pre></div><p>Now include the class into a sample page:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>&lt;?php
</span></span><span style="display:flex;"><span>//Include the class
</span></span><span style="display:flex;"><span>require_once(&#39;fget.php&#39;);
</span></span><span style="display:flex;"><span>//Recall the class
</span></span><span style="display:flex;"><span>$Flickr = new Flickr;
</span></span><span style="display:flex;"><span>//Retrive data array
</span></span><span style="display:flex;"><span>$data = $Flickr-&gt;retrive();
</span></span><span style="display:flex;"><span>//Randomize data
</span></span><span style="display:flex;"><span>shuffle($data[&#39;photos&#39;][&#39;photo&#39;]);
</span></span><span style="display:flex;"><span>//Define 0 to the counter (we need this some line down here)
</span></span><span style="display:flex;"><span>$count = 0;
</span></span><span style="display:flex;"><span>?&gt;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>&lt;!DOCTYPE HTML PUBLIC &#34;-//W3C//DTD HTML 4.01//EN&#34; &#34;http://www.w3.org/TR/html4/strict.dtd&#34;&gt;
</span></span><span style="display:flex;"><span>&lt;head&gt;
</span></span><span style="display:flex;"><span>&lt;title&gt;deepreflect.net&lt;/title&gt;
</span></span><span style="display:flex;"><span>&lt;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=utf-8&#34;&gt;
</span></span><span style="display:flex;"><span>&lt;link href=&#34;index.css&#34; rel=&#34;stylesheet&#34; type=&#34;text/css&#34;&gt;
</span></span><span style="display:flex;"><span>&lt;/head&gt;
</span></span><span style="display:flex;"><span>&lt;body&gt;
</span></span><span style="display:flex;"><span>&lt;p&gt;
</span></span><span style="display:flex;"><span>&lt;a href=&#34;https://www.flickr.com/photos/stars6/&#34; target=_new&gt;
</span></span><span style="display:flex;"><span>&lt;?php
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        foreach($data[&#39;photos&#39;][&#39;photo&#39;] as $photo) {
</span></span><span style="display:flex;"><span>        //URL base format for all photo, if you wanna miniature you can modify .jpg into _s.jpg
</span></span><span style="display:flex;"><span>        // http://farm{farm-id}.static.flickr.com/{server-id}/{id}_{secret}.jpg
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        //print photo sequence:
</span></span><span style="display:flex;"><span>	echo &#39;&lt;img alt=&#34;click to Enjoy...&#34; src=&#34;https://farm&#39; . $photo[&#34;farm&#34;] . &#39;.static.flickr.com/&#39; . $photo[&#34;server&#34;] . &#39;/&#39; . $photo[&#34;id&#34;] . &#39;_&#39; . $photo[&#34;secret&#34;] . &#39;_s.jpg&#34;&gt;&#39;;
</span></span><span style="display:flex;"><span>	//Start the counter
</span></span><span style="display:flex;"><span>	$count++;
</span></span><span style="display:flex;"><span>	//Every 13 create a new line
</span></span><span style="display:flex;"><span>	if ($count == 9) echo &#39;&lt;br&gt;&#39;;
</span></span><span style="display:flex;"><span>	if ($count == 18) echo &#39;&lt;br&gt;&#39;;
</span></span><span style="display:flex;"><span>	if ($count == 27) echo &#39;&lt;br&gt;&#39;;
</span></span><span style="display:flex;"><span>	if ($count == 36) echo &#39;&lt;br&gt;&#39;;
</span></span><span style="display:flex;"><span>	if ($count == 45) echo &#39;&lt;br&gt;&#39;;
</span></span><span style="display:flex;"><span>	if ($count == 54) echo &#39;&lt;br&gt;&#39;;
</span></span><span style="display:flex;"><span>        //if ($count == 63) echo &#39;&lt;br&gt;&#39;;
</span></span><span style="display:flex;"><span>	//Limit print results to 91 photo
</span></span><span style="display:flex;"><span>	if ($count == 81) break;
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span>?&gt;
</span></span><span style="display:flex;"><span>&lt;/a&gt;
</span></span><span style="display:flex;"><span>&lt;/p&gt;
</span></span><span style="display:flex;"><span>&lt;/body&gt;
</span></span><span style="display:flex;"><span>&lt;/html&gt;
</span></span></code></pre></div>]]></content:encoded>
    </item>
  </channel>
</rss>
