5- PHP Upload Özelliğinde Belirli Uzantılara İzin Vermek
Merhaba, bazı dosyalarımızda kullanıcıya upload yaptırmamız gerekebiliyor örneğin bir cv yükleme platformu yada profil fotoğrafı yükleme gibi.. ama buradaki önemli nokta sistem güvenliği için çeşitli uzantılara sadece izin verebilmektir. Hemen örnek kod yapımızı inceleyelim..
if ($isim_soyisim <> "" && $telefon <> "" && $mail <> "" && $dogum_tarih <> "" && isset($_FILES['foto']))
if ($_FILES['foto']['tmp_name'] != "") {
$boyut = $_FILES['foto']['size'];
[B] if($tip!="image/jpeg" && $tip!="image/jpg" && $tip!="application/pdf")[/B]{
echo 'Dosya Jpeg veya Png yada PDF formatında olmalı';
}elseif ($boyut > (1024 * 1024 * 30)) {
echo 'Dosya 30MB den büyük olamaz.';
} else {
$isim = $_FILES['foto']['name'];
$uzanti = explode('.', $isim);
$uzanti = $uzanti[count($uzanti) - 1];
$random = rand();
$dosya = $_FILES['foto']['tmp_name'];
$foto_url = $random . "." . $uzanti;
copy($dosya, 'img/' . $foto_url);
echo '';Standart olarak bir yükleme komutuna ek olarak şunu belirtmemiz gerekiyor
[B] if($tip!="image/jpeg" && $tip!="image/jpg" && $tip!="application/pdf")[/B]{burada diyoruz ki $tip değişkeninden gelen veriler sadece jpeg, jpg, ve pdf olabilir ama buna ek olarak "
&& $tip!="image/png " " de ekleyebiliriz burada cv yükleme gibi formatlarda pdf yüklememiz gerektiği için pdf formatları application olarak geçtiğinden dolayı burada image değil application kullaniyoruz ve sistemimize php uzantili hiçbirşey artık eklenemeyecektir.