<?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>Sniper</title>
	<atom:link href="http://tuncay.kinali.net/feed" rel="self" type="application/rss+xml" />
	<link>http://tuncay.kinali.net</link>
	<description>Hafızamın bir kısmı</description>
	<lastBuildDate>Sat, 22 May 2010 10:22:39 +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>Ubuntu, Adres Çubuğumu Geri Ver</title>
		<link>http://tuncay.kinali.net/ubuntu-adres-cubugumu-geri-ver.html</link>
		<comments>http://tuncay.kinali.net/ubuntu-adres-cubugumu-geri-ver.html#comments</comments>
		<pubDate>Tue, 04 May 2010 11:49:33 +0000</pubDate>
		<dc:creator>Sniper</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[İpuçları]]></category>
		<category><![CDATA[adres çubuğu]]></category>
		<category><![CDATA[nautilus]]></category>
		<category><![CDATA[pencere ikonları]]></category>
		<category><![CDATA[ubuntu 10.04]]></category>

		<guid isPermaLink="false">http://tuncay.kinali.net/?p=293</guid>
		<description><![CDATA[Bildiğiniz gibi kısa bir süre önce Ubuntu&#8217;nun 10.04 versiyonu Lucid Lynx&#8216;in dağıtımına başlandı. Bu sürümle kullanıcı alışkanlıklarımızı ters köşeye yatırmayı mı amaçladılar bilmiyorum ama ben alışkanlıklarımdan kolay kolay vazgeçebileceğimi sanmıyorum. Pencere düğmelerinin ters yönde olmasına belki alışabilirdim ama masaüstü yöneticim Nautilus&#8216;un adres çubuğuna elle giriş yapamamak bana göre değil. Her ne kadar CTRL+L tuş kombinasyonuyla [...]]]></description>
			<content:encoded><![CDATA[<p>Bildiğiniz gibi kısa bir süre önce Ubuntu&#8217;nun 10.04 versiyonu <strong>Lucid Lynx</strong>&#8216;in dağıtımına başlandı. Bu sürümle kullanıcı alışkanlıklarımızı ters köşeye yatırmayı mı amaçladılar bilmiyorum ama ben alışkanlıklarımdan kolay kolay vazgeçebileceğimi sanmıyorum.<span id="more-293"></span></p>
<p>Pencere düğmelerinin ters yönde olmasına belki alışabilirdim ama masaüstü yöneticim <strong>Nautilus</strong>&#8216;un adres çubuğuna elle giriş yapamamak bana göre değil. Her ne kadar <strong>CTRL+L</strong> tuş kombinasyonuyla adres çubuğunu görünür hale getirebilsem de, sürekli olarak adres çubuğuyla açılmasını yeğlerim. Bunun için önce Google&#8217;ı sonra da &#8220;<strong>Yapılandırma Düzenleyici</strong>&#8220;yi biraz kurcaladım.</p>
<p><strong>ADRES ÇUBUĞUNU GERİ GETİRİYORUZ</strong><br />
Yapılandıma Düzenleyiciyi açmak için <strong>ALT+F2</strong> tuş kombinasyonuyla açılan pencereye ya da direkt olarak terminal&#8217;e &#8220;<strong>gconf-editor</strong>&#8221; yazmanız yeterli. Açılan programın solundaki ağaç menüde &#8220;<strong>apps > nautilus > preferences</strong>&#8220;i genişlettikten sonra sağdaki kısımda bulunan &#8220;<strong>always_use_location_entry</strong>&#8221; değerinin karşısındaki checkbox&#8217;ı işaretlemek suretiyle bundan sonraki Nautilus pencerelerinin elle girişe izin veren adres çubuğuyla açılmasını sağlamış olursunuz.</p>
<p><strong>PENCERE DÜĞMELERİNİ DE YERİNE ALALIM MI?</strong><br />
Şimdi ister Yapılandırma Düzenleyici&#8217;yi kapatın isterseniz buraya kadar gelmişken şu pencere ikonlarını da eski yerine alalım:</p>
<p>&#8220;<strong>apps > metacity > general</strong>&#8220;e tıklayıp sağdaki &#8220;<strong>button_layout</strong>&#8220;un değerini <strong>:minimize,maximize,close</strong> olarak değiştirelim. 9.10&#8242;un başlık çubuğunda en solda birde menü vardı, eğer onu da istiyorsak yukarıdaki ifadeyi şununla değiştirmemiz gerek: <strong>menu:minimize,maximize,close</strong></p>
<p>İlk etapta 9.10&#8242;dan geçişimde gözüme bunlar çarptı, bakalım ileride başka sürprizler de çıkacak mı?</p>
]]></content:encoded>
			<wfw:commentRss>http://tuncay.kinali.net/ubuntu-adres-cubugumu-geri-ver.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu: Terminali kapat ama program kapanmasın</title>
		<link>http://tuncay.kinali.net/ubuntu-terminali-kapat-ama-program-kapanmasin.html</link>
		<comments>http://tuncay.kinali.net/ubuntu-terminali-kapat-ama-program-kapanmasin.html#comments</comments>
		<pubDate>Wed, 24 Feb 2010 08:44:45 +0000</pubDate>
		<dc:creator>Sniper</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[İpuçları]]></category>
		<category><![CDATA[disown]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://tuncay.kinali.net/?p=285</guid>
		<description><![CDATA[Ubuntu&#8217;da terminal aracılığıyla bir program çalıştırdığınızda, terminali kapattığınız anda çalıştırdığınız program da kapanır. Söz gelimi masaüstü yöneticiniz (benimki nautilus) sorun çıkartmış olabilir, kapatmak zorunda olabilirsiniz ya da kendisi çoktan kapanmıştır. Tekrar çalıştırmak için terminale &#8220;nautilus&#8221; yazmanız yeterlidir. Herşey yerli yerine gelir fakat siz terminali kapatana kadar. Terminali kapattığınızda masaüstünüz tekrar kaybolur. Ya gün sonuna kadar [...]]]></description>
			<content:encoded><![CDATA[<p>Ubuntu&#8217;da terminal aracılığıyla bir program çalıştırdığınızda, terminali kapattığınız anda çalıştırdığınız program da kapanır. Söz gelimi masaüstü yöneticiniz (benimki nautilus) sorun çıkartmış olabilir, kapatmak zorunda olabilirsiniz ya da kendisi çoktan kapanmıştır. Tekrar çalıştırmak için terminale &#8220;nautilus&#8221; yazmanız yeterlidir. Herşey yerli yerine gelir fakat siz terminali kapatana kadar. Terminali kapattığınızda masaüstünüz tekrar kaybolur. Ya gün sonuna kadar terminal hep bir köşede açık kalacak, ya da yazının devamını okumaya devam edeceksiniz.<span id="more-285"></span></p>
<p>Bunun önüne geçmek için çalıştırdığınız programı herhangi bir programın alt parçası olarak değil de bağımsız çalıştırmanız gerekir. Bunu yapmak için ise 2 komut peş peşe gönderilmelidir. İlk komutta çalıştırmak istediğiniz progamın adından sonra bir boşluk bırakıp &#8220;<strong>&#038;</strong>&#8221; karakteri eklenmelidir. Bu sayede program çalışmaya başladıktan sonra, programın kapanmasını beklemeden komut satırına yeni komutlar yazabilirsiniz. İkinci komut ise &#8220;<strong>disown</strong>&#8221; komutu. Bu komutla da son çalıştırdığınız programı bağımsız bir program haline getirirsiniz. Artık terminali gönül rahatlığıyla kapatabilirsiniz&#8230;</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p285code2'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p2852"><td class="code" id="p285code2"><pre class="bash" style="font-family:monospace;">nautilus <span style="color: #000000; font-weight: bold;">&amp;</span>
<span style="color: #7a0874; font-weight: bold;">disown</span>
<span style="color: #7a0874; font-weight: bold;">exit</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://tuncay.kinali.net/ubuntu-terminali-kapat-ama-program-kapanmasin.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ubuntu Firefox İpuçları</title>
		<link>http://tuncay.kinali.net/ubuntu-firefox-ipuclari.html</link>
		<comments>http://tuncay.kinali.net/ubuntu-firefox-ipuclari.html#comments</comments>
		<pubDate>Fri, 29 Jan 2010 07:44:10 +0000</pubDate>
		<dc:creator>Sniper</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[İpuçları]]></category>
		<category><![CDATA[adres satırı]]></category>
		<category><![CDATA[backspace]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[history back]]></category>
		<category><![CDATA[select all]]></category>
		<category><![CDATA[tümünü seç]]></category>

		<guid isPermaLink="false">http://tuncay.kinali.net/?p=278</guid>
		<description><![CDATA[Bundan 2 hafta kadar önce Windows&#8217;a tamamen veda edip iş yerimde de sadece Ubuntu kullanmaya başladım. Windows ortamındaki alışkanlıklarımdan vazgeçemediklerimi mümkün olduğunca Ubuntu&#8217;ya taşımaya gayret ediyorum. Çok sık kullandığım Firefox tarayıcının Ubuntu versiyonunda 2 özelliğinin varsayılan olarak kapalı olduğunu gördüm ve bunları nasıl açacağımı araştırdım. Firefox&#8217;ta gezindiğimiz sayfalarda backspace tuşu ile bir önceki sayfaya geçme [...]]]></description>
			<content:encoded><![CDATA[<p>Bundan 2 hafta kadar önce Windows&#8217;a tamamen veda edip iş yerimde de sadece Ubuntu kullanmaya başladım. Windows ortamındaki alışkanlıklarımdan vazgeçemediklerimi mümkün olduğunca Ubuntu&#8217;ya taşımaya gayret ediyorum. Çok sık kullandığım Firefox tarayıcının Ubuntu versiyonunda 2 özelliğinin varsayılan olarak kapalı olduğunu gördüm ve bunları nasıl açacağımı araştırdım. <span id="more-278"></span></p>
<p>Firefox&#8217;ta gezindiğimiz sayfalarda backspace tuşu ile bir önceki sayfaya geçme işlemi çok sık kullandığım bir işlemdi. Ubuntu&#8217;da bu özellik varsayılan olarak kapalı.</p>
<ul>
<li>Kapalı olan bu özelliği açmak için tarayıcının adres satırına &#8220;<strong>about:config</strong>&#8221; yazın.</li>
<li>Uyarıyı da geçtikten sonra süzgeç kısmına &#8220;<strong>browser.backspace_action</strong>&#8221; yazın.</li>
<li>Özellik üzerine çift tıklayarak değerini &#8220;<strong>0</strong>&#8221; yapın ve kapatın.</li>
<li>Artık backspace tuşuyla geri gidebilirsiniz.</li>
</ul>
<p>Varsayılan olarak kapalı olan diğer bir özellik ise adres çubuğuna tıklandığında tüm satırın seçili hale gelmesi olayı. </p>
<ul>
<li>Bu özelliği açmak için ise yine adres çubuğuna &#8220;<strong>about:config</strong>&#8221; yazın.</li>
<li>Süzgeç kısmına &#8220;<strong>browser.urlbar.clickSelectsAll</strong>&#8221; yazın.</li>
<li>Özellik üzerine çift tıklayarak <em>false</em> olan değeri <strong>true</strong> yapın.</li>
<li>Test etmek için adres satırına bir kez tıklayın.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://tuncay.kinali.net/ubuntu-firefox-ipuclari.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress için Serbest Alan Bileşeni</title>
		<link>http://tuncay.kinali.net/wordpress-icin-serbest-alan-bileseni.html</link>
		<comments>http://tuncay.kinali.net/wordpress-icin-serbest-alan-bileseni.html#comments</comments>
		<pubDate>Sat, 10 Oct 2009 15:53:28 +0000</pubDate>
		<dc:creator>Sniper</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[İpuçları]]></category>
		<category><![CDATA[bileşen]]></category>
		<category><![CDATA[serbest alan]]></category>
		<category><![CDATA[sidebar bileşeni]]></category>
		<category><![CDATA[widget]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wp_widget]]></category>

		<guid isPermaLink="false">http://tuncay.kinali.net/?p=260</guid>
		<description><![CDATA[Blogumun bu temasına geçmeden önce bir çok farklı tema denedim. Her birinin belirli üstün özellikleri ve zayıflıkları vardı. Tema seçerken en çok dikkat ettiğim şey sidebar ve footerbar üzerinde, içini dilediğimce doldurabileceğim bir bileşenin olmasıydı. Ne yazık ki şimdiye kadar hiçbir temada böyle birşeyle karşılaşmadım. WP için daha önce tema veya bileşen de yazmadığımdan bu [...]]]></description>
			<content:encoded><![CDATA[<p>Blogumun bu temasına geçmeden önce bir çok farklı tema denedim. Her birinin belirli üstün özellikleri ve zayıflıkları vardı. Tema seçerken en çok dikkat ettiğim şey sidebar ve footerbar üzerinde, içini dilediğimce doldurabileceğim bir bileşenin olmasıydı. Ne yazık ki şimdiye kadar hiçbir temada böyle birşeyle karşılaşmadım. <span id="more-260"></span></p>
<p>WP için daha önce tema veya bileşen de yazmadığımdan bu özellikte bir bileşeni kendim yapmayı hiç düşünmedim. Ta ki WP 2.8&#8242;e güncellenene kadar. WordPress&#8217;e, 2.8 versiyonuyla birlikte &#8220;WP_Widget&#8221; isimli bir sınıfın eklendiğini gördüm. Kısa bir araştırmadan sonra bu sınıfı kullanarak istediğim özellikteki bileşeni kendim yazmaya karar verdim, hemen kolları sıvadım ve &#8220;Serbest Alan&#8221; adını verdiğim bileşeni yazdım.</p>
<p>Serbest Alan, yukarıda da tarif ettiğim gibi; sidebar, footerbar vb. alanlara, içine istediğimiz kodu yazıp blogumuzda görüntüleyebileceğimiz alanlar oluşturmaya yarıyor. Kendi blogumdan örnek verecek olursam, sağdaki ve tepedeki Google reklamlarını ve sağ alttaki Frienfeed pencere öğesini Serbest Alan kullanarak ekledim. Serbest Alan&#8217;ı temalarınızdan bağımsız olarak her zaman kullanabilmeniz için aşağıdaki kodları &#8220;wp-includes/widgets.php&#8221; dosyasının en altına ekleyip kaydedin.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p260code4'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p2604"><td class="code" id="p260code4"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> ?php
<span style="color: #000000; font-weight: bold;">class</span> SerbestAlan <span style="color: #000000; font-weight: bold;">extends</span> WP_Widget <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">function</span> SerbestAlan<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$widget_ops</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> __<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Bu alanlara dilediğinizi koyabilirsiniz.'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$control_ops</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'width'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">225</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'height'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">300</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">WP_Widget</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'googlead'</span><span style="color: #339933;">,</span> __<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Serbest Alan'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$widget_ops</span><span style="color: #339933;">,</span> <span style="color: #000088;">$control_ops</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">function</span> widget<span style="color: #009900;">&#40;</span><span style="color: #000088;">$args</span><span style="color: #339933;">,</span> <span style="color: #000088;">$instance</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #990000;">extract</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$args</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$kod</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$instance</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'kod'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$kod</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">function</span> update<span style="color: #009900;">&#40;</span><span style="color: #000088;">$new_instance</span><span style="color: #339933;">,</span> <span style="color: #000088;">$old_instance</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$instance</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$old_instance</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$instance</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'kod'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$new_instance</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'kod'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$instance</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">function</span> form<span style="color: #009900;">&#40;</span><span style="color: #000088;">$instance</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$instance</span> <span style="color: #339933;">=</span> wp_parse_args<span style="color: #009900;">&#40;</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#41;</span> <span style="color: #000088;">$instance</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'kod'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">''</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000088;">$kod</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$instance</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'kod'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #b1b100;">echo</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'&lt;textarea name=&quot;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">get_field_name</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'kod'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot; id=&quot;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">get_field_id</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'kod'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot; style=&quot;width:225px; height:200px;&quot;&gt;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$kod</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&lt;/textarea&gt;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> GAInit<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	register_widget<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'SerbestAlan'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
add_action<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'widgets_init'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'GAInit'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>Şimdi yönetim panelinizden Görünüm > Bileşenler menüsüne tıklayın. Bir aksilik olmadıysa &#8220;Serbest Alan&#8221;ın mevcut bileşenler arasına yerleştiğini göreceksiniz. Sidebar&#8217;a sürüklediğinizde, içine istediğiniz kodu yazabileceğiniz bir metin alanı sizi bekliyor olacak. &#8220;Kaydet&#8221; e tıkladığınızda eklediğiniz içerik blogunuzda görüntülenmeye başlayacaktır.</p>
<p><a href="http://tuncay.kinali.net/wp-content/uploads/2009/10/s1.jpg" rel="lightbox[260]"><img src="http://tuncay.kinali.net/wp-content/uploads/2009/10/s1-300x272.jpg" alt="s1" title="s1" width="300" height="272" class="aligncenter size-medium wp-image-263" /></a></p>
<p><a href="http://tuncay.kinali.net/wp-content/uploads/2009/10/s2.jpg" rel="lightbox[260]"><img src="http://tuncay.kinali.net/wp-content/uploads/2009/10/s2-256x300.jpg" alt="s2" title="s2" width="256" height="300" class="aligncenter size-medium wp-image-264" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://tuncay.kinali.net/wordpress-icin-serbest-alan-bileseni.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Eclipse&#8217;e Word Wrap Özelliği Ekleme</title>
		<link>http://tuncay.kinali.net/eclipsee-word-wrap-ozelligi-ekleme.html</link>
		<comments>http://tuncay.kinali.net/eclipsee-word-wrap-ozelligi-ekleme.html#comments</comments>
		<pubDate>Sat, 03 Oct 2009 07:16:38 +0000</pubDate>
		<dc:creator>Sniper</dc:creator>
				<category><![CDATA[İpuçları]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[pdt]]></category>
		<category><![CDATA[word wrap]]></category>
		<category><![CDATA[wordwrap]]></category>

		<guid isPermaLink="false">http://tuncay.kinali.net/?p=249</guid>
		<description><![CDATA[Standart Eclipse programında word wrap özelliği maalesef yok. Bu yazımda Eclipse&#8217;e word wrap özelliğini kazandırmak için Ahti Kitsik&#8216;in hazırladığı Virtual Word Wrap isimli eklentinin nasıl kurulduğunu tarif edeceğim. Eclipse&#8217;i açıp Help > Install New Software menüsüne tıklayın. Açılan pencerede Add&#8217;i tıklayıp adres kısmına &#8220;http://ahtik.com/eclipse-update&#8221;, Name kısmına da istediğinizi yazıp OK&#8217;e tıklayın. Aşağıda bu siteden yükleyebileceğiniz [...]]]></description>
			<content:encoded><![CDATA[<p>Standart Eclipse programında <strong>word wrap</strong> özelliği maalesef yok. Bu yazımda Eclipse&#8217;e word wrap özelliğini kazandırmak için <a href="http://ahtik.com/blog/" target="_blank">Ahti Kitsik</a>&#8216;in hazırladığı <strong>Virtual Word Wrap</strong> isimli eklentinin nasıl kurulduğunu tarif edeceğim.<span id="more-249"></span></p>
<p>Eclipse&#8217;i açıp Help > Install New Software menüsüne tıklayın.<br />
<a href="http://tuncay.kinali.net/wp-content/uploads/2009/10/1.jpg" rel="lightbox[249]"><img src="http://tuncay.kinali.net/wp-content/uploads/2009/10/1.jpg" alt="1" title="1" width="430" height="300" class="aligncenter size-full wp-image-253" /></a><br />
Açılan pencerede Add&#8217;i tıklayıp adres kısmına &#8220;http://ahtik.com/eclipse-update&#8221;, Name kısmına da istediğinizi yazıp OK&#8217;e tıklayın.<br />
<a href="http://tuncay.kinali.net/wp-content/uploads/2009/10/3.jpg" rel="lightbox[249]"><img src="http://tuncay.kinali.net/wp-content/uploads/2009/10/3.jpg" alt="3" title="3" width="430" height="163" class="aligncenter size-full wp-image-251" /></a><br />
Aşağıda bu siteden yükleyebileceğiniz eklentiler listelenecektir. Virtual Word Wrap&#8217;e tıklayıp Next&#8217;e tıklayın.<br />
<a href="http://tuncay.kinali.net/wp-content/uploads/2009/10/2.jpg" rel="lightbox[249]"><img src="http://tuncay.kinali.net/wp-content/uploads/2009/10/2.jpg" alt="2" title="2" width="350" height="300" class="aligncenter size-full wp-image-250" /></a></p>
<p>Lisans anlaşmasını kabul ettikten sonra Eclipse&#8217;i yeniden başlatmak isteyip istemediğinizi soracaktır. Eclipse&#8217;i sonraki açışınızda bu eklentiyi kullanabilirsiniz. Kullanımı basit, kullanmak istediğiniz sayfada sağ tıklayıp menüden Virtual Word Wrap&#8217;i seçin.<br />
<a href="http://tuncay.kinali.net/wp-content/uploads/2009/10/4.jpg" rel="lightbox[249]"><img src="http://tuncay.kinali.net/wp-content/uploads/2009/10/4.jpg" alt="4" title="4" width="430" height="300" class="aligncenter size-full wp-image-252" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://tuncay.kinali.net/eclipsee-word-wrap-ozelligi-ekleme.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MySQL&#8217;de RegExp ile Replace Kullanımı</title>
		<link>http://tuncay.kinali.net/mysqlde-regexp-ile-replace-kullanimi.html</link>
		<comments>http://tuncay.kinali.net/mysqlde-regexp-ile-replace-kullanimi.html#comments</comments>
		<pubDate>Thu, 24 Sep 2009 17:34:57 +0000</pubDate>
		<dc:creator>Sniper</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[RegExp]]></category>
		<category><![CDATA[Regular Expression]]></category>
		<category><![CDATA[Replace]]></category>
		<category><![CDATA[Stored Function]]></category>

		<guid isPermaLink="false">http://tuncay.kinali.net/?p=215</guid>
		<description><![CDATA[Bir projemde MySQL&#8216;deki bir alanın değerinde RegExp kullanarak Replace işlemi yapma ihtiyacı duydum. Araştırdığımda MySQL&#8217;in Replace fonksiyonunun sadece string türünde parametre aldığını, dolayısıyla MySQL&#8217;in standart fonksiyonlarıyla bunu yapamayacağımı gördüm. Uzun zamandır Stored Procedure ve Stored Function konularını merak ettiğim halde hiç kullanma fırsatım olmamıştı. Bu durumu fırsat bilerek Regular Expression kullanarak değiştirme işlemi yapabileceğim bir [...]]]></description>
			<content:encoded><![CDATA[<p>Bir projemde <strong>MySQL</strong>&#8216;deki bir alanın değerinde <strong>RegExp</strong> kullanarak <strong>Replace</strong> işlemi yapma ihtiyacı duydum. Araştırdığımda MySQL&#8217;in Replace fonksiyonunun sadece string türünde parametre aldığını, dolayısıyla MySQL&#8217;in standart fonksiyonlarıyla bunu yapamayacağımı gördüm. Uzun zamandır <strong>Stored Procedure</strong> ve <strong>Stored Function</strong> konularını merak ettiğim halde hiç kullanma fırsatım olmamıştı. Bu durumu fırsat bilerek <strong>Regular Expression</strong> kullanarak değiştirme işlemi yapabileceğim bir Stored Function yazdım.<span id="more-215"></span></p>
<p>Hazırladığım fonksiyonun adı <strong>T_REGEXP_REPLACE</strong>, 3 parametre alıyor ve her üçü de VARCHAR veri tipinde. İlk parametrede değişikliğin uygulanacağı string, ikincisinde Regular Expression Deseni, üçüncüsünde ise değiştirilecek kısmın yerine konulacak karakter tanımlanır. Akılda kalıcı olsun diye kısaca şöyle de diyebiliriz: T_REGEXP_REPLACE(Neyi, Neye Göre, Neyle)</p>
<p>Aşağıdaki kodları <strong>MySQL Query Browser</strong> ya da muadili bir programla, kullanacağınız veritabanı üzerinde bir kez çalıştırıp fonksiyonu veritabanınıza ekleyin:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p215code7'); return false;">View Code</a> MYSQL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p2157"><td class="code" id="p215code7"><pre class="mysql" style="font-family:monospace;">DELIMITER $$
<span style="color: #990099; font-weight: bold;">DROP</span> <span style="color: #990099; font-weight: bold;">FUNCTION</span> <span style="color: #009900;">IF</span> <span style="color: #990099; font-weight: bold;">EXISTS</span> <span style="color: #008000;">`test`</span>.<span style="color: #008000;">`T<span style="color: #008080; font-weight: bold;">_</span>REGEXP<span style="color: #008080; font-weight: bold;">_</span>REPLACE`</span>$$
<span style="color: #990099; font-weight: bold;">CREATE</span> <span style="color: #990099; font-weight: bold;">DEFINER</span><span style="color: #CC0099;">=</span><span style="color: #008000;">`root`</span>@<span style="color: #008000;">`localhost`</span> <span style="color: #990099; font-weight: bold;">FUNCTION</span> <span style="color: #008000;">`T<span style="color: #008080; font-weight: bold;">_</span>REGEXP<span style="color: #008080; font-weight: bold;">_</span>REPLACE`</span><span style="color: #FF00FF;">&#40;</span>t_string <span style="color: #999900; font-weight: bold;">VARCHAR</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">255</span><span style="color: #FF00FF;">&#41;</span> character <span style="color: #990099; font-weight: bold;">set</span> utf8<span style="color: #000033;">,</span> t_pattern <span style="color: #999900; font-weight: bold;">VARCHAR</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">255</span><span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">,</span> t_replacement <span style="color: #999900; font-weight: bold;">VARCHAR</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">255</span><span style="color: #FF00FF;">&#41;</span><span style="color: #FF00FF;">&#41;</span> <span style="color: #990099; font-weight: bold;">RETURNS</span> <span style="color: #999900; font-weight: bold;">varchar</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">255</span><span style="color: #FF00FF;">&#41;</span> <span style="color: #FF9900; font-weight: bold;">CHARSET</span> utf8
<span style="color: #990099; font-weight: bold;">BEGIN</span>
&nbsp;
	<span style="color: #808000; font-style: italic;">/* Değişkenleri tanımlayalım */</span>
	<span style="color: #990099; font-weight: bold;">DECLARE</span> t_length<span style="color: #000033;">,</span> t_cursor<span style="color: #000033;">,</span> t_regex <span style="color: #999900; font-weight: bold;">TINYINT</span><span style="color: #000033;">;</span>
	<span style="color: #990099; font-weight: bold;">DECLARE</span> t_result <span style="color: #999900; font-weight: bold;">VARCHAR</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">255</span><span style="color: #FF00FF;">&#41;</span> character <span style="color: #990099; font-weight: bold;">set</span> utf8<span style="color: #000033;">;</span>
&nbsp;
	<span style="color: #808000; font-style: italic;">/* Başlangıç değerlerini atayalım */</span>
	<span style="color: #990099; font-weight: bold;">SET</span> t_length <span style="color: #CC0099;">=</span> <span style="color: #000099;">CHAR_LENGTH</span><span style="color: #FF00FF;">&#40;</span>t_string<span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">;</span>
	<span style="color: #990099; font-weight: bold;">SET</span> t_cursor <span style="color: #CC0099;">=</span> <span style="color: #008080;">0</span><span style="color: #000033;">;</span>
	<span style="color: #990099; font-weight: bold;">SET</span> t_regex <span style="color: #CC0099;">=</span> <span style="color: #008080;">0</span><span style="color: #000033;">;</span>
	<span style="color: #990099; font-weight: bold;">SET</span> t_result <span style="color: #CC0099;">=</span> <span style="color: #008000;">''</span><span style="color: #000033;">;</span>
&nbsp;
&nbsp;
	<span style="color: #808000; font-style: italic;">/* Tüm karakterleri tek tek pattern'imize tabi tutalım */</span>	
	WHILE t_length<span style="color: #CC0099;">&gt;-</span><span style="color: #008080;">1</span> <span style="color: #990099; font-weight: bold;">DO</span>		
		<span style="color: #990099; font-weight: bold;">SELECT</span> <span style="color: #000099;">SUBSTRING</span><span style="color: #FF00FF;">&#40;</span>t_string<span style="color: #000033;">,</span> t_cursor<span style="color: #000033;">,</span> <span style="color: #008080;">1</span><span style="color: #FF00FF;">&#41;</span> <span style="color: #CC0099; font-weight: bold;">REGEXP</span> <span style="color: #990099; font-weight: bold;">BINARY</span> t_pattern <span style="color: #990099; font-weight: bold;">INTO</span> t_regex<span style="color: #000033;">;</span>
&nbsp;
		<span style="color: #009900;">IF</span> t_regex <span style="color: #009900;">THEN</span>
			<span style="color: #808000; font-style: italic;">/* Pattern'e uyan karakterleri t_replacement ile değiştirelim */</span>
			<span style="color: #990099; font-weight: bold;">SELECT</span> <span style="color: #000099;">CONCAT</span><span style="color: #FF00FF;">&#40;</span>t_result<span style="color: #000033;">,</span> t_replacement<span style="color: #FF00FF;">&#41;</span> <span style="color: #990099; font-weight: bold;">INTO</span> t_result<span style="color: #000033;">;</span>
		<span style="color: #009900;">ELSE</span>
			<span style="color: #808000; font-style: italic;">/* Uymayanları olduğu gibi bırakalım */</span>
			<span style="color: #990099; font-weight: bold;">SELECT</span> <span style="color: #000099;">CONCAT</span><span style="color: #FF00FF;">&#40;</span>t_result<span style="color: #000033;">,</span> <span style="color: #000099;">SUBSTRING</span><span style="color: #FF00FF;">&#40;</span>t_string<span style="color: #000033;">,</span> t_cursor<span style="color: #000033;">,</span> <span style="color: #008080;">1</span><span style="color: #FF00FF;">&#41;</span><span style="color: #FF00FF;">&#41;</span> <span style="color: #990099; font-weight: bold;">INTO</span> t_result<span style="color: #000033;">;</span>
		<span style="color: #009900;">END</span> <span style="color: #009900;">IF</span><span style="color: #000033;">;</span>
		<span style="color: #990099; font-weight: bold;">SET</span> t_length <span style="color: #CC0099;">=</span> t_length<span style="color: #CC0099;">-</span><span style="color: #008080;">1</span><span style="color: #000033;">;</span>
		<span style="color: #990099; font-weight: bold;">SET</span> t_cursor <span style="color: #CC0099;">=</span> t_cursor<span style="color: #CC0099;">+</span><span style="color: #008080;">1</span><span style="color: #000033;">;</span>		
	<span style="color: #009900;">END</span> WHILE<span style="color: #000033;">;</span>
	RETURN<span style="color: #FF00FF;">&#40;</span>t_result<span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">;</span>
<span style="color: #009900;">END</span>$$
&nbsp;
DELIMITER <span style="color: #000033;">;</span></pre></td></tr></table></div>

<p>Herhangi bir uyarı ya da hata mesajı almadıysanız ilk denemenizi yapabilirsiniz. Aşağıda &#8220;<strong>mysql</strong>&#8221; isimli veritabanının &#8220;<strong>help_category</strong>&#8221; tablosu üzerinde çalıştırılan sorgu ve çıktısını görebilirsiniz. Sorgu; <strong>help_category</strong> tablosunun <strong>name</strong> alanındaki değerlerde geçen tüm büyük harfleri <strong>&#8220;-&#8221;</strong> karakteri ile değiştirir.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p215code8'); return false;">View Code</a> MYSQL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p2158"><td class="code" id="p215code8"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">SELECT</span> name <span style="color: #990099; font-weight: bold;">AS</span> OriginalName<span style="color: #000033;">,</span> T_REGEXP_REPLACE<span style="color: #FF00FF;">&#40;</span>name<span style="color: #000033;">,</span> <span style="color: #008000;">'[A-Z]+'</span><span style="color: #000033;">,</span> <span style="color: #008000;">'-'</span><span style="color: #FF00FF;">&#41;</span> <span style="color: #990099; font-weight: bold;">AS</span> ReplacedName <span style="color: #990099; font-weight: bold;">FROM</span> help_category h <span style="color: #990099; font-weight: bold;">LIMIT</span> <span style="color: #008080;">0</span><span style="color: #000033;">,</span><span style="color: #008080;">10</span></pre></td></tr></table></div>

<p><a href="http://tuncay.kinali.net/wp-content/uploads/2009/09/mysql_ss.png" rel="lightbox[215]"><img src="http://tuncay.kinali.net/wp-content/uploads/2009/09/mysql_ss-300x222.png" alt="t_regexp_replace screenshot" title="t_regexp_replace screenshot" width="300" height="222" class="aligncenter size-medium wp-image-218" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://tuncay.kinali.net/mysqlde-regexp-ile-replace-kullanimi.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Firefox&#8217;unuzu hızlandırın</title>
		<link>http://tuncay.kinali.net/firefoxunuzu-hizlandirin.html</link>
		<comments>http://tuncay.kinali.net/firefoxunuzu-hizlandirin.html#comments</comments>
		<pubDate>Mon, 07 Sep 2009 14:39:21 +0000</pubDate>
		<dc:creator>Sniper</dc:creator>
				<category><![CDATA[İpuçları]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[hızlandırma]]></category>
		<category><![CDATA[sqlite]]></category>
		<category><![CDATA[veritabanı]]></category>

		<guid isPermaLink="false">http://tuncay.kinali.net/?p=203</guid>
		<description><![CDATA[Uzun süre kullanılan Firefox zamanla ağırlaşmaya ve kasılmaya başlar. Bunun nedenlerinden biri olarak kullandığı veritabanlarının gün geçtikçe şişmesi olarak gösterilir. Bu yazıda Firefox&#8217;un en sık kullandığı dolayısıyla boyutu en büyük olan places isimli veritabanına sıkıştırma uygulamayı tarif edeceğim. İnternette, bu işi farklı işletim sistemlerinde farklı yöntemlerle yapma tarifleri de anlatılıyor ama burada yazacağım yöntemi uygulamak [...]]]></description>
			<content:encoded><![CDATA[<p>Uzun süre kullanılan Firefox zamanla ağırlaşmaya ve kasılmaya başlar. Bunun nedenlerinden biri olarak kullandığı veritabanlarının gün geçtikçe şişmesi olarak gösterilir. Bu yazıda Firefox&#8217;un en sık kullandığı dolayısıyla boyutu en büyük olan <strong>places</strong> isimli veritabanına sıkıştırma uygulamayı tarif edeceğim. İnternette, bu işi farklı işletim sistemlerinde farklı yöntemlerle yapma tarifleri de anlatılıyor ama burada yazacağım yöntemi uygulamak için ne sqlite indirmenize ne de işletim sistemi seçmenize gerek kalmayacak.</p>
<ul>
<li><strong>Firefox</strong>&#8216;un <strong>Araçlar </strong>menüsünden <strong>Hata Konsolu</strong>&#8216;nu açın.</li>
<li>&#8220;<strong>Kod</strong>&#8221; kısmına aşağıdaki kodu tek satır halinde kopyalayın ve enterlayın.</li>
<li>Biraz beklemeden sonra işlem tamamdır.</li>
</ul>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p203code10'); return false;">View Code</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p20310"><td class="code" id="p203code10"><pre class="javascript" style="font-family:monospace;">Components.<span style="color: #660066;">classes</span><span style="color: #009900;">&#91;</span><span style="color: #3366CC;">&quot;@mozilla.org/browser/nav-history-service;1&quot;</span><span style="color: #009900;">&#93;</span>.<span style="color: #660066;">getService</span><span style="color: #009900;">&#40;</span>Components.<span style="color: #660066;">interfaces</span>.<span style="color: #660066;">nsPIPlacesDatabase</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">DBConnection</span>.<span style="color: #660066;">executeSimpleSQL</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;VACUUM&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>İşlem bittiğinde Firefox biraz daha rahatlamış olacak&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://tuncay.kinali.net/firefoxunuzu-hizlandirin.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>PHP ile otomatik thumbnail oluşturun</title>
		<link>http://tuncay.kinali.net/php-ile-otomatik-thumbnail-olusturun.html</link>
		<comments>http://tuncay.kinali.net/php-ile-otomatik-thumbnail-olusturun.html#comments</comments>
		<pubDate>Thu, 27 Aug 2009 18:33:10 +0000</pubDate>
		<dc:creator>Sniper</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[otomatik thumbnail]]></category>

		<guid isPermaLink="false">http://tuncay.kinali.net/?p=183</guid>
		<description><![CDATA[Bugüne kadar hazırladığım web siteleri çoğunlukla katalog tarzı ürün tanıtım siteleriydi. Bu sitelerde bir ürünün farklı ebatlarda resimlerini sitenin çeşitli yerlerinde kullanmam gerekiyordu. Zamanında buna çare olarak bir script hazırlamıştım. Script, kendisine parametre olarak gönderilen resmin istenilen boyutlarda bir küçük kopyasını çalışma anında oluşturuyor ve tarayıcıya gönderiyordu. Böylelikle hem disk alanından kâr ediyor, hem de [...]]]></description>
			<content:encoded><![CDATA[<p>Bugüne kadar hazırladığım web siteleri çoğunlukla katalog tarzı ürün tanıtım siteleriydi. Bu sitelerde bir ürünün farklı ebatlarda resimlerini sitenin çeşitli yerlerinde kullanmam gerekiyordu. Zamanında buna çare olarak bir script hazırlamıştım. Script, kendisine parametre olarak gönderilen resmin istenilen boyutlarda bir küçük kopyasını çalışma anında oluşturuyor ve tarayıcıya gönderiyordu. Böylelikle hem disk alanından kâr ediyor, hem de her boyut için manuel olarak tüm resimlerin thumbnailini oluşturma zahmetinden kurtuluyordum. <span id="more-183"></span></p>
<p>Bu scripti, ASP yazdığım zamanlarda ASPJpeg bileşeni kullanarak geliştirmiştim. PHP&#8217;ye geçince aynı işi yapan PHP kodlarını da hazırladım ama bu kodlar ASP&#8217;deki kadar hızlı çalışmıyordu. Resimlerin görüntülenmesinde gözle görülür bir yavaşlama söz konusuydu ama gerek zamansızlık, gerekse PHP alanında tecrübesiz olmamdan dolayı bu konunun üstünde fazla durmamıştım. Son birkaç gündür bu scriptle ilgilenme fırsatım oldu ve nasıl daha az kaynak tüketerek scripti daha verimli hale getirebilirim diye düşündüm. Madem her resmin thumbnail&#8217;i oluşturulup tarayıcıya gönderiliyor, neden bunları bir dosyaya kaydetmeyeyim? Hem bir sonraki çağırılışlarında direkt oluşturduğum dosyayı çağırırım ve işlemciyi yormam, hem de her resmin istediğim ebatlardaki thumbnaillerini elimi sürmeden oluşturmuş olurum.</p>
<p>Scriptin adı thumb.php, dışarıdan 3 parametre alıyor:</p>
<ul>
<li><strong>p:</strong> Üzerinde işlem yapılacak olan resmin dosya sistemi üzerindeki tam yolu. Scriptin esprisini kaybetmemesi açısından yeniden boyutlandırılacak resmin bulunduğu klasörün yazma izinleri ayarlanmış olmalıdır.</li>
<li><strong>w:</strong> Resmin dönüştürüleceği maximum genişlik. (Kötü amaçlı kullanımlardan korunmak amacıyla 1024px ile sınırlandırılmıştır.)</li>
<li><strong>h:</strong> Resmin dönüştürüleceği maximum yükseklik. (Kötü amaçlı kullanımlardan korunmak amacıyla 768px ile sınırlandırılmıştır.)</li>
</ul>
<p><strong>w</strong> ve <strong>h</strong> parametreleri opsiyonel olup istenirse her ikisinin de kullanılacağı gibi sadece biri de kullanılabilir. Hiçbirini kullanmamak resmi doğrudan çağırmakla eşdeğer olacağından bir anlam ifade etmez. Scriptin çalışma mantığı özetle şöyle:</p>
<ul>
<li>Resmin genişlik ve yükseklik parametreleri alınır, yukarıda bahsedilen sınırlandırma uygulanır.</li>
<li>p parametresinde belirtilen resim dosyasının varlığı doğrulanır.</li>
<li>Resim için bir thumbnail dosya adı oluşturulur. Bu dosya adı; orjinal resmin adı[_<strong>w</strong>[genişlik değeri_<strong>h</strong>yükseklik değeri]].uzantı formatındadır. (Örneğin: &#8220;thumb.php?p=sniper.jpg&#038;w=100&#038;h=75&#8243; olarak çağırılan dosyanın thumbnail adı &#8220;sniper_w100_h75.jpg&#8221; olacaktır.)</li>
<li>Ortaya çıkan thumbnail dosya adı kullanılarak daha önce bu isimde bir dosya oluşturulmuşsa script o dosyaya yönlenir ve çalışmayı durdurur.</li>
<li>Resim dosyası belirtilen özelliklerle ilk defa çağırılıyorsa istenilen genişlik ve yükseklik değerleri işlenip orantılı bir şekilde küçük resim oluşturulur.</li>
<li>Resmin bulunduğu klasörün yazma izinleri ayarlanmışsa oluşturulan küçük resim klasöre kaydedilir, script kaydedilen dosyaya yönlendirilir ve çalışmayı durdurur.</li>
<li>Eğer klasörün yazma izni yoksa oluşturulan thumbnail direkt olarak tarayıcıya gönderilir ve dosyanın sonraki çağırılışlarında tüm bu işlemler tekrar eder.</li>
</ul>
<p>Son olarak birkaç örnek kullanım ve bu kullanımlar sonucunda oluşacak dosya bilgilerini verdikten sonra kodları alabilirsiniz. Örnek kodlar 1280&#215;960 px boyutlarında bir resim üzerinde çalıştırılmıştır.</p>
<div style="overflow:auto; margin-bottom:8px;">

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p183code15'); return false;">View Code</a> HTML</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p18315"><td class="code" id="p183code15"><pre class="html" style="font-family:monospace;">&lt;img src=&quot;thumb.php?p=urunler/wall1.jpg&amp;h=200&quot; /&gt;</pre></td></tr></table></div>

<p>Dosya Adı: wall1_h200.jpg<br />
Genişlik: 267px<br />
Yükseklik: 200px<br />
<a href="test/thumb/thumbtest.php?1" target="_blank">Kodun çalışan halini görmek için tıklayın</a>
</div>
<hr />
<div style="overflow:auto; margin-bottom:8px;">

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p183code16'); return false;">View Code</a> HTML</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p18316"><td class="code" id="p183code16"><pre class="html" style="font-family:monospace;">&lt;img src=&quot;thumb.php?p=urunler/wall1.jpg&amp;w=200&quot; /&gt;</pre></td></tr></table></div>

<p>Dosya Adı: wall1_w200.jpg<br />
Genişlik: 200px<br />
Yükseklik: 150px<br />
<a href="test/thumb/thumbtest.php?2" target="_blank">Kodun çalışan halini görmek için tıklayın</a>
</div>
<hr />
<div style="overflow:auto; margin-bottom:8px;">

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p183code17'); return false;">View Code</a> HTML</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p18317"><td class="code" id="p183code17"><pre class="html" style="font-family:monospace;">&lt;img src=&quot;thumb.php?p=urunler/wall1.jpg&amp;w=200&amp;h=200&quot; /&gt;</pre></td></tr></table></div>

<p>Dosya Adı: wall1_w200_h200.jpg<br />
Genişlik: 200px<br />
Yükseklik: 200px<br />
<a href="test/thumb/thumbtest.php?3" target="_blank">Kodun çalışan halini görmek için tıklayın</a>
</div>
<hr />
thumb.php</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p183code18'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p18318"><td class="code" id="p183code18"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> ?php
<span style="color: #009933; font-style: italic;">/**
 * 	Dosya			= thumb.php
 *	Yazan			= Tuncay KINALI (a.k.a. Sniper)
 *	Görevi			= Parametre olarak verilen resmi istenilen boyutlarda küçültme, büyütme ve
 *			  		  orantılı olarak resmin içinden bir bölümü gösterme. Oluşturulan son resim
 *					  dosyasını yeniden isimlendirerek kaydetme. Sonraki çağırılışında bu isimde
 *					  dosya bulunduğu takdirde direkt olarak o dosyayı gösterme.
 *	Parametreler	= &quot;p&quot;: Üzerinde oynanacak resmin yolu
 *					  &quot;w&quot;: Resmin maximum genişliği (opsiyonel)
 *					  &quot;h&quot;: Resmin maximum yüksekliği (opsiyonel)
 *	Tarih			= 11.08.2007
 * 	Son Güncelleme 	= 27.08.2009 - 21:11
 */</span>
&nbsp;
<span style="color: #990000;">error_reporting</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Gösterilecek resmin yolu.</span>
<span style="color: #000088;">$p</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'p'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Resmin istenilen genişliği.</span>
<span style="color: #666666; font-style: italic;">// Olası kötü amaçlı kullanımlara karşı maximum genişliği 1024px olarak ayarlıyoruz.</span>
<span style="color: #000088;">$w</span> <span style="color: #339933;">=</span> <span style="color: #990000;">intval</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'w'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">1024</span> ? <span style="color: #cc66cc;">1024</span> <span style="color: #339933;">:</span> <span style="color: #990000;">intval</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'w'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Resmin istenilen yüksekliği</span>
<span style="color: #666666; font-style: italic;">// Olası kötü amaçlı kullanımlara karşı maximum yüksekliği 768px olarak ayarlıyoruz</span>
<span style="color: #000088;">$h</span> <span style="color: #339933;">=</span> <span style="color: #990000;">intval</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'h'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">768</span> ? <span style="color: #cc66cc;">768</span> <span style="color: #339933;">:</span> <span style="color: #990000;">intval</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'h'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Belirtilen resim dosya sisteminde varsa...</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$p</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #666666; font-style: italic;">// Dosya adını ve uzantısını ayrı ayrı al.</span>
	<span style="color: #000088;">$dosyaAdi</span> 	<span style="color: #339933;">=</span> <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$p</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #990000;">strrpos</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$p</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'.'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$uzanti</span> 	<span style="color: #339933;">=</span> <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$p</span><span style="color: #339933;">,</span> <span style="color: #990000;">strrpos</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$p</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'.'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// Thumbnail dosya adını öğren</span>
	<span style="color: #009933; font-style: italic;">/**
	 * Thumbnail dosya adı, scriptin sonraki çalışmasında kontrol edeceği
	 * içinde istenilen genişliğin ve yüksekliğin belirtildiği isimdir.
	 * Örneğin thumb.php?p=resim.jpg&amp;w=100&amp;h=75 şeklinde çalıştırılan script
	 * için thumbnail dosya adı &quot;resim_100_75.jpg&quot; olarak belirlenecektir.
	 */</span>
	<span style="color: #000088;">$thumbFileName</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$dosyaAdi</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$thumbFileName</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$w</span><span style="color: #339933;">&gt;</span><span style="color: #cc66cc;">0</span> ? <span style="color: #0000ff;">'_w'</span><span style="color: #339933;">.</span><span style="color: #000088;">$w</span> <span style="color: #339933;">:</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$thumbFileName</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$h</span><span style="color: #339933;">&gt;</span><span style="color: #cc66cc;">0</span> ? <span style="color: #0000ff;">'_h'</span><span style="color: #339933;">.</span><span style="color: #000088;">$h</span> <span style="color: #339933;">:</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$thumbFileName</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$uzanti</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// İstenilen ölçülerde thumbnail daha önce talep edilmiş ve dosya sistemine kaydedilmişse...</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$thumbFileName</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #666666; font-style: italic;">// ... thumbnail dosyasına yönlen ve çalışmayı durdur.</span>
		<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Location: <span style="color: #006699; font-weight: bold;">{$thumbFileName}</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #990000;">exit</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span> <span style="color: #666666; font-style: italic;">// ... ilk defa talep edilen thumbnail dosyası için çalışmaya başla</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">// Resmin bilgilerini al</span>
		<span style="color: #000088;">$resim</span> <span style="color: #339933;">=</span> <span style="color: #990000;">getimagesize</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$p</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$w</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #339933;">!</span><span style="color: #000088;">$h</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #666666; font-style: italic;">// Max. Genişlik manuel olarak belirtilmiş ve yükseklik belirtilmemişse...</span>
			<span style="color: #666666; font-style: italic;">// ... genişliği istenilen ölçüye getir ...</span>
			<span style="color: #000088;">$genislik</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$w</span><span style="color: #339933;">;</span>
			<span style="color: #666666; font-style: italic;">// ... yüksekliği genişliğe orantılı bir şekilde hesapla.</span>
			<span style="color: #000088;">$yukseklik</span> <span style="color: #339933;">=</span> <span style="color: #990000;">round</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$genislik</span><span style="color: #339933;">*</span><span style="color: #000088;">$resim</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #000088;">$resim</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elseif</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$w</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$h</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #666666; font-style: italic;">// Max. Yükseklik manuel olarak belirtilmişse ve genişlik belirtilmemişse</span>
			<span style="color: #666666; font-style: italic;">// ... yüksekliği istenilen ölçüye getir ...</span>
			<span style="color: #000088;">$yukseklik</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$h</span><span style="color: #339933;">;</span>
			<span style="color: #666666; font-style: italic;">// ... genişliği yüksekliğe orantılı bir şekilde hesapla.</span>
			<span style="color: #000088;">$genislik</span> <span style="color: #339933;">=</span> <span style="color: #990000;">round</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$yukseklik</span><span style="color: #339933;">*</span><span style="color: #000088;">$resim</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #000088;">$resim</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elseif</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$w</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$h</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #666666; font-style: italic;">// Her iki özellikte manuel olarak belirtilmişse ...</span>
			<span style="color: #666666; font-style: italic;">// ... özellikleri istenilen ölçüye getir.</span>
			<span style="color: #000088;">$yukseklik</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$h</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$genislik</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$w</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span> <span style="color: #666666; font-style: italic;">// Her iki ölçü de girilmemişse ana resme git ve çalışmayı durdur.</span>
			<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Location: '</span><span style="color: #339933;">.</span> <span style="color: #000088;">$p</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #990000;">exit</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">// Resmin türüne göre ana resmi belleğe kopyala</span>
		<span style="color: #b1b100;">switch</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$resim</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">:</span> <span style="color: #666666; font-style: italic;">// GIF</span>
				<span style="color: #000088;">$kopya_resim</span> <span style="color: #339933;">=</span> <span style="color: #990000;">imagecreatefromgif</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$p</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000088;">$resim_mime_type</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'image/gif'</span><span style="color: #339933;">;</span>
				<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">:</span> <span style="color: #666666; font-style: italic;">// JPG</span>
				<span style="color: #000088;">$kopya_resim</span> <span style="color: #339933;">=</span> <span style="color: #990000;">imagecreatefromjpeg</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$p</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000088;">$resim_mime_type</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'image/jpeg'</span><span style="color: #339933;">;</span>
				<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">3</span><span style="color: #339933;">:</span> <span style="color: #666666; font-style: italic;">// PNG</span>
				<span style="color: #000088;">$kopya_resim</span> <span style="color: #339933;">=</span> <span style="color: #990000;">imagecreatefrompng</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$p</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000088;">$resim_mime_type</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'image/png'</span><span style="color: #339933;">;</span>
				<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">// Belirlenen ölçülerde boş bir resim oluştur</span>
		<span style="color: #000088;">$thumb</span> <span style="color: #339933;">=</span> <span style="color: #990000;">imagecreatetruecolor</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$genislik</span><span style="color: #339933;">,</span> <span style="color: #000088;">$yukseklik</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #666666; font-style: italic;">// Belleğe kopyalanan ana resmi istenilen ölçülere göre küçülterek oluşturulan resmi</span>
		<span style="color: #666666; font-style: italic;">// az önce oluşturduğumuz boş resmin içine yazdır.</span>
		<span style="color: #990000;">imagecopyresampled</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$thumb</span><span style="color: #339933;">,</span> <span style="color: #000088;">$kopya_resim</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #000088;">$genislik</span><span style="color: #339933;">,</span> <span style="color: #000088;">$yukseklik</span><span style="color: #339933;">,</span> <span style="color: #000088;">$resim</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$resim</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$h</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #009933; font-style: italic;">/**
			 * Eğer maximum yükseklik değeri manuel olarak girilmişse ve bu değer
			 * scriptin oluşturduğu değerden farklıysa scriptin otomatik değeri yoksayılıp
			 * elle girilen değer dikkate alınarak thumbnail yeniden boyutlandırılır
			 */</span>
&nbsp;
			<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$yukseklik</span><span style="color: #339933;">&gt;</span><span style="color: #000088;">$h</span><span style="color: #009900;">&#41;</span> <span style="color: #000088;">$yukseklik</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$h</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #000088;">$thumb2</span> <span style="color: #339933;">=</span> <span style="color: #990000;">imagecreatetruecolor</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$genislik</span><span style="color: #339933;">,</span> <span style="color: #000088;">$yukseklik</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #990000;">imagecopy</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$thumb2</span><span style="color: #339933;">,</span> <span style="color: #000088;">$thumb</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$h</span><span style="color: #339933;">-</span><span style="color: #000088;">$yukseklik</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$genislik</span><span style="color: #339933;">,</span> <span style="color: #000088;">$yukseklik</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$sonuc</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$thumb2</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$sonuc</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$thumb</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #009933; font-style: italic;">/** İstenilen boyuttaki thumbnail artık hazır
		 * Resmin türüne göre oluşturulan thumbnaili dosya sistemine yazdırmayı deneyeceğiz.
		 * Resmin bulunduğu klasörün yazma izinleri verilmişse thumbnail dosyası yukarıda
		 * ayarlanan isimle klasöre kaydedilir ve script kaydedilen bu dosyaya yönlendikten sonra
		 * çalışmayı durdurur. Yazma izinlerinde sorun varsa -ki bu scriptin esprisini yok eder-
		 * oluşturulan thumbnail'i direkt olarak browser'a yollar ve her seferinde yukarıdaki işlemleri yapar
		 */</span>
&nbsp;
		<span style="color: #b1b100;">switch</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$resim</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">:</span> <span style="color: #666666; font-style: italic;">// GIF</span>
				<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">@</span><span style="color: #990000;">imagegif</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$sonuc</span><span style="color: #339933;">,</span><span style="color: #000088;">$thumbFileName</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
					<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Location: '</span><span style="color: #339933;">.</span><span style="color: #000088;">$thumbFileName</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #990000;">exit</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
					<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Content-Type: <span style="color: #006699; font-weight: bold;">{$resim_mime_type}</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #990000;">imagegif</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$sonuc</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span>
				<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">:</span> <span style="color: #666666; font-style: italic;">// JPG</span>
				<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">@</span><span style="color: #990000;">imagejpeg</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$sonuc</span><span style="color: #339933;">,</span><span style="color: #000088;">$thumbFileName</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">80</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
					<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Location: '</span><span style="color: #339933;">.</span><span style="color: #000088;">$thumbFileName</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #990000;">exit</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
					<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Content-Type: <span style="color: #006699; font-weight: bold;">{$resim_mime_type}</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #990000;">imagejpeg</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$sonuc</span><span style="color: #339933;">,</span><span style="color: #009900; font-weight: bold;">NULL</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">80</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span>
				<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">3</span><span style="color: #339933;">:</span> <span style="color: #666666; font-style: italic;">// PNG</span>
				<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">@</span><span style="color: #990000;">imagepng</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$sonuc</span><span style="color: #339933;">,</span><span style="color: #000088;">$thumbFileName</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
					<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Location: '</span><span style="color: #339933;">.</span><span style="color: #000088;">$thumbFileName</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #990000;">exit</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
					<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Content-Type: <span style="color: #006699; font-weight: bold;">{$resim_mime_type}</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #990000;">imagepng</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$sonuc</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span>
				<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">// Tüm işlemler bittikten sonra bellek boşaltılıp bir nebze olsun sunucu rahatlatılır</span>
		<span style="color: #990000;">imagedestroy</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$sonuc</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://tuncay.kinali.net/php-ile-otomatik-thumbnail-olusturun.html/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Ubuntu&#8217;da FileZilla&#8217;yı Güncelleme</title>
		<link>http://tuncay.kinali.net/ubuntuda-filezillayi-guncelleme.html</link>
		<comments>http://tuncay.kinali.net/ubuntuda-filezillayi-guncelleme.html#comments</comments>
		<pubDate>Mon, 17 Aug 2009 19:26:03 +0000</pubDate>
		<dc:creator>Sniper</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[İpuçları]]></category>
		<category><![CDATA[filezilla]]></category>
		<category><![CDATA[güncelleme]]></category>
		<category><![CDATA[upgrade]]></category>

		<guid isPermaLink="false">http://tuncay.kinali.net/?p=179</guid>
		<description><![CDATA[Sürekli yeni güncelleme çıkaran FileZilla&#8217;yı maalesef Ubuntu otomatik olarak upgrade etmiyor. Mecburen cp komutunu kullanmam gerek ama her seferinde nasıl yaptığımı unutuyor ve hep arayışlara giriyorum. Bu sefer buraya kaydedeyim de unutmayayım. Aşağıdaki komut güncelleme için yeterli. (İnşallah buraya kaydettiğimi de unutmam) ?View Code BASHtar -jxvf FileZilla_3.2.7.1_i586-linux-gnu.tar.bz2 sudo cp -r -u ~/Masaüstü/FileZilla3/* /usr]]></description>
			<content:encoded><![CDATA[<p><a href="http://tuncay.kinali.net/wp-content/uploads/2009/08/logo.png" rel="lightbox[179]"><img src="http://tuncay.kinali.net/wp-content/uploads/2009/08/logo.png" alt="FileZilla" title="FileZilla" width="69" height="70" class="alignleft size-full wp-image-180" /></a>Sürekli yeni güncelleme çıkaran FileZilla&#8217;yı maalesef Ubuntu otomatik olarak upgrade etmiyor. Mecburen <strong>cp</strong> komutunu kullanmam gerek ama her seferinde nasıl yaptığımı unutuyor ve hep arayışlara giriyorum. Bu sefer buraya kaydedeyim de unutmayayım. Aşağıdaki komut güncelleme için yeterli. (İnşallah buraya kaydettiğimi de unutmam)</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p179code20'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p17920"><td class="code" id="p179code20"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">tar</span> <span style="color: #660033;">-jxvf</span> FileZilla_3.2.7.1_i586-linux-gnu.tar.bz2
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">cp</span> <span style="color: #660033;">-r</span> <span style="color: #660033;">-u</span> ~<span style="color: #000000; font-weight: bold;">/</span>Masaüstü<span style="color: #000000; font-weight: bold;">/</span>FileZilla3<span style="color: #000000; font-weight: bold;">/*</span> <span style="color: #000000; font-weight: bold;">/</span>usr</pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://tuncay.kinali.net/ubuntuda-filezillayi-guncelleme.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kendi Bilgisayarınızda SSL İle Çalışın: XP/Vista &#8211; Apache</title>
		<link>http://tuncay.kinali.net/kendi-bilgisayarinizda-ssl-ile-calisin-xpvista-apache.html</link>
		<comments>http://tuncay.kinali.net/kendi-bilgisayarinizda-ssl-ile-calisin-xpvista-apache.html#comments</comments>
		<pubDate>Fri, 14 Aug 2009 17:03:06 +0000</pubDate>
		<dc:creator>Sniper</dc:creator>
				<category><![CDATA[Windows Vista]]></category>
		<category><![CDATA[Windows XP]]></category>
		<category><![CDATA[İpuçları]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[localhost]]></category>
		<category><![CDATA[openssl]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[vista]]></category>
		<category><![CDATA[xp]]></category>

		<guid isPermaLink="false">http://tuncay.kinali.net/?p=162</guid>
		<description><![CDATA[Windows XP ya da Vista üzerinde Apache web sunucusu ile SSL kullanabilmek için ya Apache sunucusunun OpenSSL destekli olan sürümünü yüklemiş olmak ya da OpenSSL&#8217;in kendisini yüklemiş olmak gereklidir. OpenSSL destekli Apache web sunucusunu indirmek için buraya, OpenSSL&#8217;i yüklemek için ise buraya tıklayın. Eğer OpenSSL&#8217;i indirecekseniz bilgisayarınızda Visual C++ 2008 Redistributables&#8216;ın kurulu olması gereklidir. Onu [...]]]></description>
			<content:encoded><![CDATA[<p>Windows XP ya da Vista üzerinde Apache web sunucusu ile SSL kullanabilmek için ya Apache sunucusunun OpenSSL destekli olan sürümünü yüklemiş olmak ya da OpenSSL&#8217;in kendisini yüklemiş olmak gereklidir. <span id="more-162"></span></p>
<p>OpenSSL destekli Apache web sunucusunu indirmek için <a href="http://apache.opensourceresources.org/httpd/binaries/win32/apache_2.2.13-win32-x86-openssl-0.9.8k.msi">buraya</a>, OpenSSL&#8217;i yüklemek için ise <a href="http://www.slproweb.com/download/Win32OpenSSL-0_9_8k.exe">buraya</a> tıklayın. Eğer OpenSSL&#8217;i indirecekseniz bilgisayarınızda <strong>Visual C++ 2008 Redistributables</strong>&#8216;ın kurulu olması gereklidir. Onu da indirmek için <a href="http://www.microsoft.com/downloads/details.aspx?familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF">buraya</a> tıklayabilirsiniz.</p>
<p>Sisteminizde önceden Apache yüklüyse ama OpenSSL destekli mi değil mi bilmiyorsanız Bunun yerine Apache&#8217;nin OpenSSL destekli olan versiyonunu indirip kurmanızı tavsiye ederim.<br />
<!--pagetitle:Giriş--></p>
]]></content:encoded>
			<wfw:commentRss>http://tuncay.kinali.net/kendi-bilgisayarinizda-ssl-ile-calisin-xpvista-apache.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
