Bazen upload fonksiyonu yazarken veya dosya işlemleri ile uğraşırken dosya uzantısını almamız gerekebilir
Bu gibi durumlarda sizlere kesin sonucu veren bir fonksiyondan bahsedicem, önce anlatmak istediğim fonsiyondan bir örnek vereyim ve diğer sitelerden örnekler ile ne demek istediğimi anlatmaya çalışayım arkdaşlar
uzantı almak için substr,strtolower,explode,preg_match gibi fonksiyonlarla uğraşmayalım
Örnek Kod
Çıktısı
Başka Sitelerden Örnekler
//Örnek 1
//Örnek 2
Başka Bir Siteden Alıntıdır...
Yani örnekte dosya uzantısı almak aslında okadar zor değil
benim sık kullandığım yöntem budur arkadaşlar
ayrıca pathinfo(); fonksiyonunu domain dizin parçalama yöntemlerinde kullanabilirsiniz...
Örnek
Çıktısı
şimdi arkadaşalar pathinfo(); gibi bir fonksiyon varken kasmaya gerek varmıdır ?
eger pathinfo yetersiz derseniz lütfen belirtin
Bu gibi durumlarda sizlere kesin sonucu veren bir fonksiyondan bahsedicem, önce anlatmak istediğim fonsiyondan bir örnek vereyim ve diğer sitelerden örnekler ile ne demek istediğimi anlatmaya çalışayım arkdaşlar
uzantı almak için substr,strtolower,explode,preg_match gibi fonksiyonlarla uğraşmayalım
Örnek Kod
PHP:
$Info = pathinfo("filename.exe");
echo "<pre>";
print_r($Info);
echo "</pre>";
PHP:
Array
(
[dirname] => .
[basename] => filename.exe
[extension] => exe
[filename] => filename
)
Başka Sitelerden Örnekler
//Örnek 1
PHP:
<?
function uzantiBul($isim) {
$dizi = explode('.',$isim);
$eleman = count($dizi) -1;
$uzanti = $dizi["$eleman"];
echo $uzanti;
// return $uzanti;
}
uzantiBul("asdsad.asd.php"); # çıktı : php
?>
//Örnek 2
PHP:
$uckarakterliuzanti = substr ("dosyaadimiz.uzn", -4);
Başka Bir Siteden Alıntıdır...
sonuc : .uzn olarak çıkacaktır.
ancak bu fonksiyon çoğu zaman geçerli olmayabiliyor yani bir upload scripti hazırladınız diyelim karşıdan .torrent yada .jpeg uzantılı bir dosya gönderdiklerinde uzantıyı yanlış alacaktır.
bu gibi durumlarda izlenecek yöntemlerden akla ilk gelen yöntem gelen dosya bilgisini “.” karakteri merkezine göre bölerek en son parçayı uzantı kabul etmek
$dosya = "sagopa kajmer - vasiyet .mp3";
$parcalabehcet = explode(".",$dosya);
$soneleman = count($parcalabehcet)-1;
$uzanti = $parcalabehcet[$soneleman];
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;
$uzanti = strtolower(strrchr($dosya,'.'));
bu yöntem dosya değişkenini sondan “.” karakterine kadar okur ve o kısmı uzanti değişkeni içerisine döker.
$uzanti = end(explode(".",$dosya));
bu yöntem ise başta uzun yoldan yaptığımız işlemi php fonksiyonları ile kısaltarak “.” karakterini merkez alarak dosya ismini parçalar son parçayıda uzanti değişkeni içerisine basar.
Yani örnekte dosya uzantısı almak aslında okadar zor değil
benim sık kullandığım yöntem budur arkadaşlar
PHP:
$Info = pathinfo("filename.exe");
echo "<pre>";
print_r($Info);
echo "</pre>";
PHP:
echo $Info['extension'];
Örnek
PHP:
$Info = pathinfo("www.phpogreniyorum.com");
echo "<pre>";
print_r($Info);
echo "</pre>";
Çıktısı
PHP:
Array
(
[dirname] => .
[basename] => www.phpogreniyorum.com
[extension] => com
[filename] => www.phpogreniyorum
)
eger pathinfo yetersiz derseniz lütfen belirtin