<?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>Vuska Blog &#187; Php</title>
	<atom:link href="http://blog.vuska.net/kategoriler/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.vuska.net</link>
	<description>Düşünce bulutları arasında eylem planları (Ali Gündoğdu ! CeaSeR).</description>
	<lastBuildDate>Fri, 02 Apr 2010 20:41:37 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>[Php], Php &#8211; Javascript değişken alışverişi (php&#8217;den javascripte &#8211; javascripten php&#8217;ye değişken aktarma)</title>
		<link>http://blog.vuska.net/2009/php-php-javascript-degisken-alisverisi-phpden-javascripte-javascripten-phpye-degisken-aktarma/</link>
		<comments>http://blog.vuska.net/2009/php-php-javascript-degisken-alisverisi-phpden-javascripte-javascripten-phpye-degisken-aktarma/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 14:05:18 +0000</pubDate>
		<dc:creator>CeaSeR</dc:creator>
				<category><![CDATA[Js]]></category>
		<category><![CDATA[Php]]></category>

		<guid isPermaLink="false">http://blog.vuska.net/?p=238</guid>
		<description><![CDATA[Günümüz internet teknolojisinde inline model kod yazmak ile oop kod yazmak tartışıladursun,asıl ihtiyaç farklı kulvarlarda at koşturan dillerin ortak şekilde geçinmesi birbirleri arasında kayıpsız ve kolay yoldan bilgi transfer edilebilmesidir.
Ajax denilen tekniğin gelişmesi ile birlikte bir çok internet sitesi artık sanki masaüstü programı gibi işlem yapmaya,animasyonlar hızlı yüklemeler ile kullanım kolaylığı oluşturmaya başlamışlardır.
bu tur işlemleri ...]]></description>
			<content:encoded><![CDATA[<p>Günümüz internet teknolojisinde inline model kod yazmak ile oop kod yazmak tartışıladursun,asıl ihtiyaç farklı kulvarlarda at koşturan dillerin ortak şekilde geçinmesi birbirleri arasında kayıpsız ve kolay yoldan bilgi transfer edilebilmesidir.</p>
<p>Ajax denilen tekniğin gelişmesi ile birlikte bir çok internet sitesi artık sanki masaüstü programı gibi işlem yapmaya,animasyonlar hızlı yüklemeler ile kullanım kolaylığı oluşturmaya başlamışlardır.</p>
<p>bu tur işlemleri iki farklı kısımda incelemek gerekir,</p>
<ol>
<li>Kullanıcı tarafında gerçekleşen işlemler,</li>
<li>Sunucu (server) tarafında gerçekleşen işlemler.</li>
</ol>
<p>eğer çok istisnai durumlar yok ise (wget,flash,java applet,javaFX,silverlight) kullanıcı tarafında gerçekleşen işlemler için javascript temeldir. (buda kendi içerisinde dallanabilir ama istisnai durumlar içerisinde belirttiğim bir çok dil bile tarayıcıya JS kodu derleyip göndermektedir)</p>
<p>siz javascript ve JS kütüphaneleri kullanarak kullanıcı tarafında yani ajax,animasyonlar,etkileşimli tasarım renklendirmeleri gibi kullanım kolaylığı sunacak arabirimi yaparsınız,</p>
<p>sunulacak bilgi ve form değerlerinin işlenerek yeni sonuçlar çıkarma,veritabanı işlemleri gibi derin mevzuları ise sunucu taraflı programlama dilleri ile yaparsınız, bunlar asp ,.net,jsp,php,ruby,python,go olabilir.</p>
<p><strong>peki </strong>bir birinden bağımsız ve alakasız iki farklı dili (dillerin) nasıl bir ortak paydada buluşturabiliriz ?</p>
<p>ben burada Php ile Js arasındaki metodlardan bahsedeceğim.</p>
<p><strong>1.Metod : HTML içine gömme metodu.</strong></p>
<p>en çok bilinen uygulanan metod budur, mantığı basittir. php değişkenlerinin jsye aktarılmasında çok etkilidir.<br />
<code>&lt;script type='text/javascript'&gt;<br />
var phpdengelecek = '&lt;?php echo 'php den gelen değişken değeri'; ?&gt;';<br />
alert(phpdengelecek);<br />
&lt;/script&gt;</code></p>
<p>yukarıdaki basit örneği çalıştırdığınızda ekrana bir mesaj kutusu açılacak ve &#8220;php den gelen değişken değeri&#8221; yazdırılacaktır.</p>
<p>burdaki mantık şudur : <strong>javascript kodları kullanıcı tarafında yorumlanır yani html içerisinde gömülü halde gelir,php kodları ise sunucuda yorumlanır ve php&#8217;den dönen değerlere göre html kodu şekillenir, kullanıcıya gönderilir.</strong></p>
<p>yukarıdaki kuraldan ortaya çıkacak sonuç , php ile gönderilecek html koduna müdahale edip,js den önce php komutlarını çalıştırabildiğimize göre neden javascript komutlarına ve değişken içeriklerine müdahale edemeyelim ki.</p>
<p>şimdi örneği biraz genişletelim,<br />
kullanıcı adı kadi değişkeni ile querystring&#8217;den $_GET metodu ile geliyor biz javascript ile hoşgeldin kullanıcı adı dedirteceğiz, tabiki kullanıcı adı değişken olacak.</p>
<p><code>&lt;script type='text/javascript'&gt;<br />
alert('Hoş geldin &lt;?php $_GET['kadi']; ?&gt;');<br />
&lt;/script&gt;</code><br />
örneğin çalıştığı sayfa <strong>http://localhost/deneme.php</strong> olsun biz tarayıcıdan direk olarak http://localhost/deneme.php dosyasını çağırırsak javascript sadece hoşgeldin içerikli bir mesaj kutusu çıkaracaktır. ama biz adresi <strong>http://localhost/deneme.php?kadi=kerim_abdül_cabbar</strong> şeklinde çağırırsak javascript hoşgeldin kerim_abdül_cabbar şeklinde sonuç döndürüp mesaj kutusu çıkaracaktır.</p>
<p>birinci metodun özeti : javascript dosyası html kodları içinde statik olarak bulunduğu için php ile kolaylıkla yönlenebilir.</p>
<p><strong>2. metod : javascriptten php&#8217;ye komut göndermek :</strong><br />
burada iş tam tersine dönüyor, kullanıcı tarafında oluşturulan bilgiler php&#8217;ye değişken olarak gönderilecek<br />
eskiden olsa bu iş tam bir ütopya idi ama ajax bu iş için çıkmıştı. ama sadece ajax kendi başına hiç bir işe yaramayabiliyor, çünkü her geçen gün ihtiyaçlar ve hayal gücü genişliyor.</p>
<p>2.metodun birinci kısmı öğren ve gönder kısmı,<br />
bir örnekle açıklamak gerekirse php ile farklı ekran boy ve genişliklerine göre farklı siteler tasarladınız,<br />
php sunucu tarafında olduğu için kullanıcı bilgilerinin hepsine hakim değil işte böyle durumlarda önce javascript ile gerekli bilgileri alıp php yi uygun yönergeler ile tetiklemeniz gerekiyor,<br />
örneğimizi koda dökelim</p>
<p>index.php içeriği<br />
<code>&lt;?php<br />
if(!$_GET["en"] or !$_GET["boy"]){<br />
echo "<br />
&lt;script type='text/javascript'&gt;<br />
var adres = ;<br />
location.href='&lt;?php echo $_SERVER['php_self']; ?&gt;'+'?en="+screen.width+'&amp;boy='+screen.heigh;<br />
&lt;/script&gt;<br />
";<br />
exit();<br />
}else{<br />
echo $_GET["en"]." x ".$_GET["boy"];<br />
}<br />
?&gt;</code></p>
<p>örneği açıklamak gerekirse,<br />
önce index.php dosyamızın yüklenmesi talimatı verildi, eğer $_GET metodu ile (querystring) en ve boy değerleri gelmemiş ise JS yardımı ile en ve boy değerlerini oluşturarak aynı sayfaya bu sefer $_GET metodu ile gerekli değişkenler ile gönderdik. böylelikle javascript değişkenlerini php&#8217;ye aktarmış olduk.<br />
aslında biraz taşıma su gibi gözüksede kodlama yaparken bu tür değişkenleri class yüklemelerinden önce kontrol ettirirseniz / ettirirsek gereksiz yüklemelerin önüne geçmiş oluruz.<br />
bu metod hem php&#8217;den js&#8217;ye aynı zamanda js&#8217;den php&#8217;ye bilgi aktarılması gereken yerlerde %100 etkilidir. mesela örneğimizi geliştirerek anlatacak olursak js ile ekran en boyunu öğrendip php&#8217;ye gönderen, php gelen veriyi işleyip ona göre yönlenme yapan ve sonunda javascript mesaj kutusunda ekran en boy değerini söyleyen bir kod yazalım.<br />
yine index.php</p>
<p><code>&lt;?php<br />
if(!$_GET["en"] or !$_GET["boy"]){<br />
echo "<br />
&lt;script type='text/javascript'&gt;<br />
var adres = ;<br />
location.href='&lt;?php echo $_SERVER['php_self']; ?&gt;'+'?en="+screen.width+'&amp;boy='+screen.heigh;<br />
&lt;/script&gt;<br />
";<br />
exit();<br />
}else{<br />
switch($_GET["boy"){<br />
case "600":<br />
include("in800.php");<br />
break;<br />
case "768":<br />
include("in768.php");<br />
break;}<br />
}<br />
?&gt;<br />
&lt;script type='text/javascript'&gt;<br />
alert('&lt;?php echo $_GET["en"]." x ".$_GET["boy"]; ?&gt;');<br />
&lt;/script&gt;</code></p>
<p>umarım buraya kadar anlattıklarım kafanızda bir şeyleri tetiklemiştir.<br />
gelelim 2.metodun diğer kısmı lan anlık işlem hacmine bu kısım ajax tekniği ile işlem görüyor yani sayfa yenilenmeden sadece belirli bir alanı güncellemek için kullanılıyor.bu kısım ile ajax&#8217;ı araştırabilirsiniz.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vuska.net/2009/php-php-javascript-degisken-alisverisi-phpden-javascripte-javascripten-phpye-degisken-aktarma/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java Script,php,html kodlarını gizleme / saklama üzerine değişik metodlar</title>
		<link>http://blog.vuska.net/2009/java-scriptphphtml-kodlarini-gizleme-saklama-uzerine-degisik-metodlar/</link>
		<comments>http://blog.vuska.net/2009/java-scriptphphtml-kodlarini-gizleme-saklama-uzerine-degisik-metodlar/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 09:36:10 +0000</pubDate>
		<dc:creator>CeaSeR</dc:creator>
				<category><![CDATA[Js]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[css kod sakla]]></category>
		<category><![CDATA[js kod sakla]]></category>
		<category><![CDATA[Kod]]></category>
		<category><![CDATA[php kod sakla]]></category>
		<category><![CDATA[sakla]]></category>

		<guid isPermaLink="false">http://blog.vuska.net/?p=113</guid>
		<description><![CDATA[Herkeslerin kafasına takılan ve ütopya gibi duran, kullanıcı tarafında yorumlanan dillere ait kod dosyalarının saklanması ve gizlenmesi üzerine bir yazı.Uzun bir süredir yazmak istiyordum ancak bu güne nasipmiş.]]></description>
			<content:encoded><![CDATA[<p><strong>giriş :</strong></p>
<p>Uzun süredir böyle bir yazı yazmak istiyordum ,bugüne nasipmiş,</p>
<p>web siteleri,barındığı sunuculardan sizin bilgisayarınıza geldiği anda içerisinde html kodlarını getirir,<br />
web sitesi hangi dille yazılırsa yazılsın,size html olarak gelir,gelmek zorundadır.Çünkü sizin web sitelerini görüntülemek için kullandığınız tarayıcılar (firefox,chrome os,internet explorer,safari) aslında birer html yorumlayıcısıdır.Birbirlerinden ayrıldıkları tek noktada bu html kodlarını yorumlama hızlarıdır.</p>
<p><em>** benim yukarıda bahsettiğim html terimi aslında salt html değil (javascript,embed,css) gibi html 4 ve üstü teknolojiler bütünüdür.</em></p>
<p><strong>Nasıl oluyor ? :</strong></p>
<p>kodlarınızda en iyi korumayı sağlamak için,kodların size ve ziyaretcinize hangi aşamalardan geçerek geldiğini iyi bilmek gerekir.Siz ne kadar iyi bilirseniz,o kadar iyi önlem alabilirsiniz.</p>
<p>kullanıcı / ziyaretçi, sizin site adresinizi tarayıcısına yazıp sayfayı çağırdığı andan itibaren,tarayıcınız sizin sitenizi kendi üzerine çekerek yorumlamaya başlar.<br />
bu süreç içerisinde web siteninize bağladığınız tüm css ve js komut dosyaları da tarayıcıya yüklenir.hatta resim dosyalarıda bu yüklenme kervanı içerisindedir.</p>
<p>hal böyle olunca yazmış olduğunuz ve web sayfasına etki etmesini istediğiniz css ve js kodları önce tarayıcının ön havuzuna alınıyor ardındanda işleme konuluyor.</p>
<p>buraya kadar anlattığım olaylardan çıkacak sonuç şu; sizin kodlarınızın işlenebilmesi için kısmende olsa ziyaretçi bilgisayarına yüklenmesi gerek.</p>
<p><strong>Peki ya sonra ? :</strong></p>
<p>sizin yazmış olduğunuz kodların bulunduğu tüm dosyalar (css &#8211; js ) ziyaretçinin bilgisayarına tarayıcı vasıtası ile yüklendikten sonra tarayıcı bu kodları okuyarak ne yapacağına karar veriyor ve kullanıcının tarayıcı ayarlarında yapmış olduğu ziyaret edilmiş sayfaların artık dosyalarını silme aralığına göre sizin kodlarınızın bulunduğu artık dosyalar siliniyor.(tempory internet files,firefox cache vb.) kimi kullanıcı bu ayarları hiç değiştirmediği için uzun bir süre sizin kodlarınız kullanıcı bilgisayarında kalabiliyor.</p>
<p><strong>Sorunu kavradık peki çözümü yok mu ?</strong><em></em></p>
<p>yazdığınızın ve yayınladığınız kodların (php ve asp kodları gibi sunucu tarafında yorumlanan kodlar değil,js css gibi ziyaretçi tarafında yorumlanan kodlar) ziyaretçinin bilgisayarına yüklenmemesini engelleyemediğimizi öğrendik.peki yüklenen kodlara tarayıcı dışında kimse erişmesin diyebilir miyiz, tabiki hayır diyemeyiz.</p>
<p>bunca işlem süreci içerisinde biz kod yazarlarının kodlarını saklaması için hiç mi bir önlem alınmamış ? cevap yine hayır. <em>eğer hala bu soruyu sorabiliyorsak zaten işin özünü anlamamışız demektir. </em></p>
<p><strong>Çözüm olarak kullanılabilecek yöntemler ?</strong></p>
<ol>
<li><strong>Js kodlarınızı şifreli yazmak:</strong><br />
bununla ilgili olarak bir çok internet sitesi,servis aracı mevcut ancak her şifrelenen metin tekrar açılarak işlenmek zorunda olduğu için kırılması çok kolaydır. bu yüzden bu yöntem fazlası ile vakit kaybıdır.</li>
<li><strong>Js kodlarınızı bir session kontrollü, asp veya php sayfası içerisine gömerek tarayıcıya gönderme :<br />
</strong>Bu nerden çıktı şimdi diyebilirsiniz ? ancak yukarıda anlattığım mantık içerisinde kafanıza şu soru gelebilir ; eğer tarayıcı kodlarımızı görüyorsa yapacak bir şey yok,peki direk adres yazarak kodlara ulaşmaya çalışanlara karşı bir önlem alamazmıyız ? işte bu yöntem bu sorunun cevabı. Gelen isteğin tarayıcıdan mı yoksa direk mi geldiğini anlayabilen bir algoritma ile (session ve değişken kontrolü) bunun önüne geçtiğinizi varsayabiliriz.<br />
nedir bu session ve değişken kontrolü ;<br />
php üzerinden anlatacak olursam, index.php başında $tarayici = true diyerek bir değişken ataması yaptık ve js,css dosyalarınıda sayfaya js.php?js=komutlar şeklinde bağladık,bu bağlama neticesinde js.php sayfası içeride gelen query string&#8217;e göre js dosyasını bulup yükleyecek.js.php sayfası bu yüklemeden önce başta atanmış $tarayici değişkeninin içeriğine bakacak,eğer içerik true ise sayfayı dökecek.<br />
Bu anlattığım yöntem en sık kullanılan yöntemlerden birisidir ve %100 sonuca (bu yöntem için) sadece internet explorer 6 kullanan ziyaretçiler için ulaşabilir.<br />
şimdi şöyle düşünün kodunuzu çalmaya çalışan (yada görmeye diyelim) kişi sizce sadece internet explorer 6 mı kullanır ?<br />
Mesela firefox ve firebug kullanan bir kişi bu engele hiç takılmadan tarayıcı içerisinden kodlarınızı görebilir.</li>
<li><strong>karman çorman kod yazarak,kodların anlamsızlaştırma</strong>: Bu bir yöntem olmamasına karşın çoğu kişi çözülmesini istemediği kodlarını bu yöntemle yazar.bunları geri döndüren bir program ve araç var ancak şuda var,eğer ben kodlarımızı bu şekilde yazarsam bunu çözmeye çalışan kişi (çakmak isteyen yada görmek isteyen) uğraştığına deyip deymeyeceğini düşünecek ve yoluna ona göre devam edecektir.</li>
<li><strong>Kodları hiç yayınlamamak : </strong>Belkide en etkili sonuç budur kanaatindeyim,çünkü yayınlanmamış kod,hiç kırılmamış,görülmemiş ve ulaşılmamış koddur.</li>
</ol>
<p><strong>Son söz</strong>:</p>
<p>Web 2.0 felsefesi ile birlikte,amaç görsellikten çok içeriğe döndüğü için artık çoğu şeyi saklamanın manası kalmamıştır.<br />
web sitelerinin hepsi görsel birbirine benzese bile içerik olarak birbirini tutmamaktadır.işin amacı ve doğası bu yöndedir. Eğer çok iyi yazdığınıza inandığınız bir js kodunu saklamak istiyorsanız bunu başaramaz,beyhude çabalamış olursunuz.siz sadece önlem alabilirsiniz.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vuska.net/2009/java-scriptphphtml-kodlarini-gizleme-saklama-uzerine-degisik-metodlar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Php] tek tırnak mı çift tırnak mı sorunsalı.</title>
		<link>http://blog.vuska.net/2009/php-tek-tirnak-mi-cift-tirnak-mi-sorunsali/</link>
		<comments>http://blog.vuska.net/2009/php-tek-tirnak-mi-cift-tirnak-mi-sorunsali/#comments</comments>
		<pubDate>Tue, 06 Oct 2009 09:50:22 +0000</pubDate>
		<dc:creator>CeaSeR</dc:creator>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[İp ucu]]></category>

		<guid isPermaLink="false">http://blog.vuska.net/?p=87</guid>
		<description><![CDATA[Php ile sayfaya bilgi basarken yada php çekirdeğine bilgi gönderirken dizgisel bilgileri tırnak işareti ile gösteriyoruz. bu kimi zaman &#8221; işareti olurken kimi zamanda &#8216; işareti oluyor.
peki php&#8217;de hangisini kullanmakta fayda var ?
cevap ikiside ancak php;
&#8221; &#8221; çift tırnakları arasında kalan dizgiyi yordamlar ve sonra basar,
&#8216; &#8216; tek tırnak arasında kalan dizgiyi ise yordamlamadan basar.
bu ...]]></description>
			<content:encoded><![CDATA[<p>Php ile sayfaya bilgi basarken yada php çekirdeğine bilgi gönderirken dizgisel bilgileri tırnak işareti ile gösteriyoruz. bu kimi zaman &#8221; işareti olurken kimi zamanda &#8216; işareti oluyor.</p>
<p>peki php&#8217;de hangisini kullanmakta fayda var ?</p>
<p>cevap ikiside ancak php;</p>
<p>&#8221; &#8221; çift tırnakları arasında kalan dizgiyi yordamlar ve sonra basar,</p>
<p>&#8216; &#8216; tek tırnak arasında kalan dizgiyi ise yordamlamadan basar.</p>
<p>bu da şu demek</p>
<p>$isim = &#8220;Ali&#8221;;<br />
$soyisim = &#8220;Gündoğdu&#8221;;</p>
<p>echo &#8220;$isim $soyisim&#8221;;</p>
<p>//sayfaya Ali Gündoğdu yazar.</p>
<p>aynı örneği tek tırnak ile yaparsak</p>
<p>$isim = &#8220;Ali&#8221;;<br />
$soyisim = &#8220;Gündoğdu&#8221;;</p>
<p>echo &#8216;$isim $soyisim&#8217;;</p>
<p>//sayfaya $isim $soyisim yazar.</p>
<p>php tek tırnağı çift tırnaktan daha hızlı işler ve döndürür bu yüzden mecbur kalmadıkça çift tırnağa bulaşmayın derim.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vuska.net/2009/php-tek-tirnak-mi-cift-tirnak-mi-sorunsali/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP &#8211; Dosya uzantısı bulma yöntemleri</title>
		<link>http://blog.vuska.net/2009/php-dosya-uzantisi-bulma-yontemleri/</link>
		<comments>http://blog.vuska.net/2009/php-dosya-uzantisi-bulma-yontemleri/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 13:44:23 +0000</pubDate>
		<dc:creator>CeaSeR</dc:creator>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[Programlama]]></category>

		<guid isPermaLink="false">http://blog.vuska.net/?p=77</guid>
		<description><![CDATA[Upload yada dosya düzenleme ile ilgili durumlarda insanın önünü tıkayan bir durum olabiliyor bir dosyanın uzantısının tespiti.
Php dili gene yapısı itibari ile server üzerinde kendisine tahsis edilmiş tüm dosyalara erişebilir dilediği gibi işlem yapabilir.
sunucunuz üzerinde bulunan bir yada bir çok dosyanın uzantısını bulmak için çok fazla yöntem mevcut;
dosya uzantısının 3 karakterden oluştuğundan emin isek
$uckarakterliuzanti = ...]]></description>
			<content:encoded><![CDATA[<p>Upload yada dosya düzenleme ile ilgili durumlarda insanın önünü tıkayan bir durum olabiliyor bir dosyanın uzantısının tespiti.</p>
<p>Php dili gene yapısı itibari ile server üzerinde kendisine tahsis edilmiş tüm dosyalara erişebilir dilediği gibi işlem yapabilir.</p>
<p>sunucunuz üzerinde bulunan bir yada bir çok dosyanın uzantısını bulmak için çok fazla yöntem mevcut;</p>
<p>dosya uzantısının 3 karakterden oluştuğundan emin isek</p>
<p><code>$uckarakterliuzanti = substr ("dosyaadimiz.uzn", -4);</code></p>
<p>sonuc : <strong>.uzn</strong> olarak çıkacaktır.</p>
<p>ancak bu fonksiyon çoğu zaman geçerli olmayabiliyor yani bir upload scripti hazırladınız diyelim karşıdan <em>.torrent</em> yada <em>.jpeg</em> uzantılı bir dosya gönderdiklerinde uzantıyı yanlış alacaktır.</p>
<p>bu gibi durumlarda izlenecek yöntemlerden akla ilk gelen yöntem gelen dosya bilgisini &#8220;<strong>.</strong>&#8221; karakteri merkezine göre bölerek en son parçayı uzantı kabul etmek</p>
<p><code>$dosya = "sagopa kajmer - vasiyet .mp3";<br />
$parcalabehcet = explode(".",$dosya);<br />
$soneleman =  count($parcalabehcet)-1;<br />
$uzanti = $parcalabehcet[$soneleman];<br />
</code><br />
görüldüğü gibi bu yöntem ile 3 değişken ve 3 satır harcayarak uzantımızı bulduk, peki bu işi daha kolay halledebilen yöntemler yok mu ? elbette var;</p>
<p><code>$uzanti = strtolower(strrchr($dosya,'.'));</code></p>
<p>bu yöntem dosya değişkenini sondan &#8220;<strong>.</strong>&#8221; karakterine kadar okur ve o kısmı uzanti değişkeni içerisine döker.</p>
<p><code>$uzanti = end(explode(".",$dosya));</code></p>
<p>bu yöntem ise başta uzun yoldan yaptığımız işlemi php fonksiyonları ile kısaltarak &#8220;.&#8221; karakterini merkez alarak dosya ismini parçalar son parçayıda uzanti değişkeni içerisine basar.</p>
<p>sanırım bu kadar yöntem yeterli olacaktır.</p>
<p><strong>Not</strong>: <em>konu içerisinde bahsi geçen upload script i gibi bir şey yazmaya niyetlenirseniz ve güvenlik için uzantı kontrolü kullanacaksanız kesinlik uzantı kontrolü yapmayın, mime-type kontrolü ile güvenliği sağlayın.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vuska.net/2009/php-dosya-uzantisi-bulma-yontemleri/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
