<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>onur.org &#187; php</title>
	<atom:link href="http://www.onur.org/kategori/php/feed" rel="self" type="application/rss+xml" />
	<link>http://www.onur.org</link>
	<description>yazılım, internet teknolojileri ve yaşam.</description>
	<lastBuildDate>Mon, 28 Jun 2010 01:25:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Resim.im API Uygulaması</title>
		<link>http://www.onur.org/resim-im-api-uygulamasi.html</link>
		<comments>http://www.onur.org/resim-im-api-uygulamasi.html#comments</comments>
		<pubDate>Thu, 13 Aug 2009 02:33:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://onur.org/?p=48</guid>
		<description><![CDATA[Internet üzerinde sayısız resim yükleme servisi var. Ve herkesin bildiği gibi hazır uygulama kullanan siteler çoğunluğu oluşturmakta, özellikle Türkiye&#8217;de imaj barındırma hizmeti veren servisler paylaşımlı(shared) hosting kullandıklarından kısa sürede tarih olmaktadır. Nedenlerine gelirsek, herşeyden önce imaj/site barındırma  İşlemci, Harddisk  ve Ram kullanımının fazla olması nedeniyle masraflıdır. Ayrıca gelir &#8211; gideri karşılamamaktadır. Evet, bu düşünce ile [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" src="http://www.resim.im/_img/logo.jpg" alt="" /></p>
<blockquote><p>Internet üzerinde sayısız resim yükleme servisi var. Ve herkesin bildiği  gibi hazır uygulama kullanan siteler çoğunluğu oluşturmakta, özellikle  Türkiye&#8217;de imaj barındırma hizmeti veren servisler paylaşımlı(shared) hosting kullandıklarından kısa sürede tarih olmaktadır. Nedenlerine gelirsek, herşeyden önce imaj/site barındırma  İşlemci, Harddisk  ve Ram kullanımının fazla olması nedeniyle masraflıdır. Ayrıca gelir &#8211; gideri karşılamamaktadır.</p></blockquote>
<p>Evet, bu düşünce ile API&#8217;yi yazmaya karar verdim. Amacım kaliteli bir servis oluşturmak ve kullanılabilirliği arttırmaktı. Programlama bilgimi elimden geldiği kadarıyla ileri düzeyde kullanmaya çalıştım. İçime sinen bir çalışma oldu. Umarım siz de memnun kalırsınız. Dökümantasyon&#8217;a  uyarı ile hızlı bir giriş yapalım.</p>
<p><strong>Uyarı!</strong></p>
<ol>
<li><em>Sunucunuzdaki php versiyonu minimum <strong>PHP5</strong> olması gerekmektedir.</em></li>
<li><em>Maksimum <strong>1 MB</strong> yükleme yapabilirsiniz. JPG, GIF, PNG harici  formatlar desteklenmez. Telif hakkı içeren ve yetişkin içerikte resim  yüklemek yasaktır. </em>Kural ihlali yapan siteler yasaklı listesine  alınır.</li>
</ol>
<p><span id="more-48"></span></p>
<p><strong>İçerik</strong></p>
<ul>
<li><a href="#1">Sistem İşleyişi</a></li>
<li><a href="#2">API Kullanımı</a></li>
<li><a href="#30">api.html</a>
<ul>
<li><a href="#31">api.html: CSS</a></li>
<li><a href="#32">api.html: Javascript</a></li>
</ul>
</li>
<li><a href="#40">islem.php</a></li>
<li><a href="#50"><strong>tmp</strong></a></li>
<li><a href="#51">.htaccess</a></li>
</ul>
<p><a href="http://api.resim.im/api.html" target="_blank">Demo</a><br />
<a href="http://api.resim.im/api_v1.zip" target="_blank">Dosyaları indirmek için tıklayınız.</a></p>
<h3 id="1">Sistem İşleyişi</h3>
<p>Dosyayı formdan yolladıktan sonra <strong>islem.php</strong> ile dosya içeriğini üç farklı aşamada süzüyor. Dosya uygun görülürse geçici klasörünüz olan &#8220;tmp&#8221; e  aktarıp cURL ile resim.im&#8217;daki &#8220;<strong>http://api.resim.im/api?q=yukle</strong>&#8221; adresine istek yollayıp yükleme talebinde bulunuyor. Yükleme başarılıysa dosyanın ID bilgisi javascript ile &#8220;<strong>http://api.resim.im/yukle.js</strong>&#8221; dosyasındaki fonksiyona tetikleme yapıyor ve resim adreslerini <strong>JSON</strong> ile çektikten sonra geçici dosyayı siliyor. Yazdığım aşamalarda herhangi bir problem oluşursa hata kodu ile geri döndürme yapabiliyor.</p>
<h3 id="2">API Kullanımı</h3>
<p><em> </em>ZIP dosyasını açtıktan sonra dosyaları istediğiniz(subdomain, dizin vb.) yere yüklediğiniz taktirde sistem sorunsuz çalışacaktır. Yalnız kendine göre özelleştirerek kullanmak isteyenler için dosyalar hakkında bilgi veriyorum.<em><br />
</em></p>
<p><strong>Klasör İçeriği</strong></p>
<dl>
<dt>api</dt>
<dd>api.html</dd>
<dd>islem.php</dd>
<dt>tmp</dt>
<dd>.htaccess</dd>
</dl>
<p><strong id="30">- api.html</strong></p>
<p>Özel tasarımla uğraşmak istemeyenler için hazırlanmış, <a href="http://validator.w3.org/check?uri=http%3A%2F%2Fapi.resim.im%2Fapi.html&amp;charset=%28detect+automatically%29&amp;doctype=Inline&amp;group=0">W3 uyumlu</a> sayfadır.</p>
<p><strong id="31">CSS</strong></p>
<pre class="brush: css;">
&lt;style type=&quot;text/css&quot;&gt;
body{background:url('http://api.resim.im/img/bg.png') repeat-x; margin:100px 0 0 0; text-align:center; font-size:14px}
#kapsa{margin:0 auto; width:390px}
p{font-size:12px}
.pa { font-size:12px; text-align:left; }
#sonuc_p { margin:5px 0 0 0; text-align:left; }
#hata { background:url('http://api.resim.im/img/hata.gif') no-repeat; padding:0 0 3px 16px; margin:15px 0 0 0; font-size:11px;}
a{color:#000; text-decoration:none}
a:hover{color:#000; text-decoration:underline}
.linkler { width:342px; display:block; padding:5px; color:#333; margin:0 0 5px 0; }
.yeni_alan{width:389px; margin-top:20px}
.yeni_yukseklik{background-image:url('http://api.resim.im/img/01.png'); height:17px}
.yeni_alt{background-image:url('http://api.resim.im/img/03.png'); height:14px}
.yeni_ortala{background-image:url('http://api.resim.im/img/02.png')}
.yeni_alan .yeni_ortala ._html div a{color:#069; text-decoration:none}
._html{padding:20px 16px 16px 16px; clear:both; font-family:Verdana; font-size:12px; text-align:center;}
.yukle{margin:20px 0 0 0}
h1{text-align:right; font-size:13px; font-family:helvetica,sans-serif; padding:0; color:#999; font-weight:normal; margin:0 5px 0 0}
ul{margin:5px 5px  5px 15px; padding:0; list-style:none}
ul li{background:url('http://api.resim.im/img/kurallar.gif') no-repeat 0 2px; text-align:left; font-size:11px; line-height:20px; padding-left:25px}
#alt{font-size:11px; font-family:Tahoma; margin:10px 0 0 0}
&lt;/style&gt;
</pre>
<p>CSS dosyası ile sayfa üzerinde tam olarak hakimiyet sağlayabilir ve form genişliği, buton ayarları ve arkaplan üzerinde sorunsuz değişiklik yapabilirsiniz. CSS öğrenmek için <a href="http://www.fatihhayrioglu.com/kitap/">ilgili</a> sayfayı ziyaret edip Türkçe E-book&#8217;u indirebilirsiniz.</p>
<p><strong id="32">Javascript</strong></p>
<pre class="brush: jscript;">
&lt;script type=&quot;text/javascript&quot;&gt;
// &lt;![CDATA[
var buton   = &quot;http://api.resim.im/img/buton.png&quot;;
// ]]&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;http://api.resim.im/yukle.js&quot;&gt;&lt;/script&gt;
</pre>
<p>Javascript ile tek yolladığımız parametre buton bilgisidir. &#8220;http://api.resim.im/img/buton.png&#8221; imajını istediğiniz gibi değiştirebilirsiniz. Ek özellikler istediğiniz taktirde eklenebilir.</p>
<p><strong id="40">- islem.php</strong></p>
<p>Kodlar sonraki versiyonlar için modüler altyapı oluşturmak niyetiyle tamamen php5(object oriented) olarak yazılmıştır.</p>
<p>190-191 satırları arasında düzenleme yapabilirsiniz.</p>
<pre class="brush: php;">
define('_KLASOR_', 'tmp');
define('_KB_', '1000');
</pre>
<p><em>İlk satır </em>: geçici klasör adıdır. Ön tanımlı değer &#8220;tmp&#8221; klasörüdür. Klasör adını değiştirmek istediğiniz taktirde CHMOD 777 vermeyi unutmayınız.<br />
<em>İkinci satır</em>: yükleme yaptırabileceğiniz maksimum değerdir. 1000 Kilobayt aşağısında yükleme yaptırabilir ama yukarısı için hata alırsınız.</p>
<p><strong id="50">+ tmp</strong></p>
<p>Geçici klasör adı, yukarıdaki yönergelere göre değişiklik yapabilirsiniz.</p>
<p><strong id="51">- .htaccess</strong></p>
<p>Güvenlik içindir. Resimlerin yüklendiği klasör olduğundan dolayı içinde php, cgi, pl uzantılı çalıştırdığınızda hata alacaksınız.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.onur.org/resim-im-api-uygulamasi.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>
