PHP ile resim upload etme

Yanlızca php kullanarak resim upload etmek oldukça zor bu yüzden html form yapısını kullanarak kullanıcıdan bir resim yüklemesini isteyeceğiz ardından gelen resmi php ile alıp sunucumuza yada hosutumuza upload edeceğiz.

Neler Göreceğiz ?

  • html form yapısını oluşturacağız
  • php ile gelen postu alıp yazdıracağız.

Form Yapısı

Sunucunuza dosya gönderimi yapacağınız zaman mutlaka formunuzun içerisine enctype=”multipart/form-data” eklemek zorundasınız.

index.php oluşturalım ve içerisine alttaki kodları ekleyip kayıt ettirelim.

<form action="ekle.php" method="post" enctype="multipart/form-data">
        <input type="file" name="resim">
        <input type="submit" value="ekle">
</form>

form ile ekle.php ye post ile veri göndereceğiz. File methodu ile gelen postu alıp sunucumuza yükleyeceğiz.

ekle.php oluşturalım ve içerisine alttaki kodları sırasi ile ekleyelim

ilk olarak yüklenen dosyanın tipini öğrenelim

$tip = $_FILES["resim"]["type"];

$_FILE[“resim”] de resim yazan alan ,form içerisinde ki name alanında belirttiğimiz isim.Siz kendinize göre burayı ayarlayabilirsiniz.

İf sorgusu ile yüklenen dosyanın resim olup olmadığını sorgulayalım.bunun için bize strstr() fonksiyonu yardımcı olacaktır.

strstr() kullanımı bir değişken içerisinde kelime aramanıza olanak sağlıyor. örnek vermek gerekirse; $bio = “Benim adım Mümin”; değişekninde strstr() ile arama yapalım

strstr($bio,”adım”) ile $bio değişkeninin içerisinde “adım” kelimesi olup olmadığını sorduk, $bio değişkeninde “adım” kelimesi olduğu için bize true değerini döndürecek.

if (strstr($tip, "jpeg") || strstr($tip, "jpg") || strstr($tip, "png")){
}else{
    echo "Lütfen resim yükleyiniz";
}

$tip değişkeninde eğer jpeg,jpg yada png var ise true döndürerek işleme devam edeceği yok ise hata mesajını döndüreceğiz.

Eğer true döndü ise rand() fonksiyonu ile bir random sayı alıp resmimizin adına ekleyelim,aynı isimde resim olursa karışıklık olacağından bu işlemi yapıyoruz.

$rand = rand(5, 10005);

proje dizinine resimlerinizin tutulacağı dosyayı belirtelim.

$path = 'resimler';

resimin tam yolunu belirtelim

$resim_yolu = $path."/resim_".$rand.".jpeg";

tmp_name ile ” Yüklenen dosyanın sunucuda saklandığı sıradaki geçici dosya adı”nı alalım eğer geçici bir adı yok ise ekrana hata yazdıralım

$sorgu = isset($_FILES['resim']) && isset($_FILES['resim']['tmp_name']) ? $_FILES['resim']['tmp_name'] : '';
     if (empty($sorgu)) {
       echo "Dosya Yüklenemedi";
     }

Son olarak move_uploaded_file() fonksiyonu ile resmimizi sunucumuza yükleyip işlemimize son verelim.

move_uploaded_file($sorgu, $resim_yolu);

ekle.phpyi altta tam olarak bulabilirsiniz

if(isset($_POST)){
       
  $video_name = $_FILES["resim"]["tmp_name"];
  $tip = $_FILES["resim"]["type"];
  
  
  if (strstr($tip, "jpeg") || strstr($tip, "jpg") || strstr($tip, "png")){
    $rand = rand(5, 10005);
    $path = 'resimler';
    $resim_yolu = $path."/resim_".$rand.".jpeg";
    $sorgu = isset($_FILES['resim']) && isset($_FILES['resim']['tmp_name']) ? $_FILES['resim']['tmp_name'] : '';
     if (empty($sorgu)) {
       echo "Uploaded file doesn't exist.";
     }
     $bak = move_uploaded_file($sorgu, $resim_yolu);
     if($bak){
       echo "resim yüklendi";
     }else{
       echo "Resim Yüklenemedi";
     }
  }
   
}else{
  echo "s";
}

Bir sonraki yazıda görüşmek üzere.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir