Galeri Ekleme Formunda Resim Tipi Sorgulama
Arkadaşlar merhaba. Bir galeri ekle formum var. Bu formda hem tekil hem de multi fotoğraf ekletebiliyorum. Tekli fotoğraf tipini sorgulatıp resim formatı dışında bir dosya eklendiğinde hatayı yazdırıyorum sorun yok. Ancak aynı işlemi Multi Fotoğrafta da yapmak istiyorum. Kodları yazdım uyarıyı çıkartıyor fakat tekli fotoğraf tipini png olarak, multiresim tipini örn pdf olarak seçtiğimde hem galeri eklendi uyarısı veriyor hem de multiresim tipi uygun değil uyarısı veriyor. İkisini aynı şekil orantılı olarak 2 input seçeneğinden birisinde farklı bir pdf gibi dosya tipi varsa nasıl ekranda uyarı yazdırabilirim?
<?php
include "inc/header.php";
include "inc/sidebar.php";
?>
<title>GALERİ EKLEME SAYFASI - <?php echo $ayarcek['ayar_title']; ?></title>
<style type="text/css">
.note-editor.note-frame .note-editing-area .note-editable {
height:250px;
}
</style>
<div class="content-page">
<div class="content">
<div class="container-fluid">
<div class="col-12">
<div class="row">
<div class="card">
<div class="card-body">
<div class="row">
<div class="col-md-11">
<h2 class="card-title"> Galeri Ekleme Sayfası</h2>
</div>
</div><br>
<?php
if(isset($_POST['galeriKaydet']))
{
$ad=$_POST['galeri_ad'];
$desc=$_POST['galeri_desc'];
$keyword=$_POST['galeri_keyword'];
$aciklama=$_POST['galeri_aciklama'];
$sira=$_POST['galeri_sira'];
$durum=$_POST['galeri_durum'];
$zaman=$_POST['galeri_zaman'];
$uploads_dir ='../img';
$tmp_name=$_FILES['galeri_resimyol']["tmp_name"];
$benzersizsayi1=rand(20000,32000);
$benzersizsayi2=rand(20000,32000);
$uzanti = '.webp';
$benzersizad=$benzersizsayi1.$benzersizsayi2;
$refingyol=substr($uploads_dir, 3)."/".$benzersizad.$uzanti;
@$tip = pathinfo($_FILES['galeri_resimyol']["name"], PATHINFO_EXTENSION);
if (($tip != "jpg") && ($tip != "png" ) && ($tip != "webp") && ($tip != "gif")) {
echo '<div style="width:320px;" class="position-absolute top-0 end-0"><div class="alert alert-danger alert-dismissible fade show" role="alert">
<strong>Başarısız.!</strong><br>JPG, PNG, GIF veya WEBP Formatında Resim Seçiniz.
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div></div>';
}else{
$pid = $db->lastInsertId();
if (isset($_FILES['resim'])) {
$yuklenemeyenler = array(); //yüklenemeyen ve hatası dönen resimleri bu dizide tutacağız.
$uzanti = '.webp';
$klasor = "../../img"; //yükleyeceğimiz klasörü belirledik.
//Artık resimlerimiz dizi olarak geldiği için bir döngü ile tek tek kontrol ve kayıt etmemiz gerekiyor.
$resim_sayisi = count($_FILES['resim']['name']); //kaç tane resim geldiğini öğrendik.
for ($i = 0; $i < $resim_sayisi; $i++) {
//resim sayısı kadar döngüye soktuk.
$resimBoyutu = $_FILES['resim']['size'][$i]; //döngü içerisindeki resmin boyutunu öğrendik.
if ($resimBoyutu > (1024 * 1024 * 12)) {
//buradaki işlem aslında bayt, kilobayt ve mb formülüdür.
//2 rakamını mb olarak görün ve kaç yaparsanız o mb anlamına gelir.
//Örn: (1024* 1024* 3) => 3MB/ (1024* 1024* 4) => 4MB
$yuklenemeyenler[] = $_FILES['resim']['name'][$i] . " - BOYUT";
} else {
$resimtip = $_FILES['resim']['type'][$i]; //resim resimtipini öğrendik.
$resimAdi = $_FILES['resim']['name'][$i]; //resmin adını öğrendik.
if ($resimtip == 'image/jpeg' || $resimtip == 'image/jpg' || $resimtip == 'image/png') { //uzantısnın kontrolünü sağladık. sadece .jpg ve .png yükleyebilmesi için.
move_uploaded_file($_FILES['resim']['tmp_name'][$i],$klasor."/".$_FILES['resim']['name'][$i].$uzanti);
$db->query("insert into resim values ('','$pid','".$klasor."/".$_FILES['resim']['name'][$i].$uzanti."')");
//tmp_name ile resmi bulduk ve nereye, hangi isimle yukleneceğini belirleyip yükledik.
//yükleme işlemi başarılı olursa dilediğiniz bir olayı gerçekleştirebilirsiniz.
} else {
$yuklenemeyenler[] = $_FILES['resim']['name'][$i] . " UZANTI";
}
}
}
if (count($yuklenemeyenler) > 0) {
echo '<div style="width:320px;" class="position-absolute top-0 end-0"><div class="alert alert-danger alert-dismissible fade show" role="alert">
<strong>Başarısız.!</strong><br>Çoklu Fotoğrafları JPG, PNG, GIF veya WEBP Formatında Resim Seçiniz.
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div></div>';
}
}
@move_uploaded_file($tmp_name, "$uploads_dir/$benzersizad$uzanti");
$galeri_ekle=$db->prepare("insert into galeri (galeri_ad,galeri_desc,galeri_keyword,galeri_aciklama,galeri_sira,galeri_durum,galeri_zaman,galeri_resimyol) values(?,?,?,?,?,?,?,?)");
$galeri_ekle->execute(array($ad,$desc,$keyword,$aciklama,$sira,$durum,$zaman,$refingyol));
if($galeri_ekle)
{
echo '<div style="width:320px;" class="position-absolute top-0 end-0"><div class="alert alert-success alert-dismissible fade show" role="alert">
<strong>Başarılı.!</strong><br>Galeri Başarıyla Eklendi.
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div></div>';
// header("Refresh:2;url=galeri.php");
// header("Location:../production/iletisim_ayar.php?durum=ok");
}
else
{
echo '<div style="width:320px;" class="position-absolute top-0 end-0"><div class="alert alert-danger alert-dismissible fade show" role="alert">
<strong>Başarısız.!</strong><br>Ekleme İşlemi Yapılırken Hata Oluştu.
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div></div>';
header("Refresh:2;url=galeri-ekle.php");
//header("Location:../production/iletisim_ayar.php?durum=no");
}
}
}
?>
<form action="" method="POST" enctype="multipart/form-data" id="demo-form2" data-parsley-validate class="form-horizontal form-label-left">
<div class="row">
<div class="col-md-4">
<div class="card-body">
<h4 class="card-title">Başlık</h4>
<div class="form-group">
<input type="text" class="form-control" name="galeri_ad" value="<?php echo @$ad ?>" required />
</div>
</div>
</div>
<div class="col-md-4">
<div class="card-body">
<h4 class="card-title">Kısa Açıklama</h4>
<div class="form-group">
<input type="text" class="form-control" name="galeri_desc" required value="<?php echo @$desc ?>"/>
</div>
<small style="color:red;">Seo İçin Galeriniz Hakkında Kısa Açıklama Yazınız.</small>
</div>
</div>
<div class="col-md-4">
<div class="card-body">
<h4 class="card-title">Anahtar Kelimeler</h4>
<div class="form-group">
<input type="text" class="form-control" name="galeri_keyword" value="<?php echo @$keyword ?>"required />
</div>
<small style="color:red;">Kelimeleri aralarına virgül koyarak yazınız.</small>
</div>
</div>
<div class="card-body">
<h4 class="card-title">Detay</h4>
<div class="form-group">
<textarea id="summernote" name="galeri_aciklama" required /><?php echo @$aciklama ?></textarea>
</div>
</div>
<div class="col-md-2">
<div class="card-body">
<h4 class="card-title">Durum</h4>
<div class="form-group">
<input type="hidden" name="galeri_durum" value="0">
<div class="input-group">
<label class="switch"><input type="checkbox" name="galeri_durum" value="1" checked ><span class="slider round"></span></label>
</div>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card-body">
<h4 class="card-title">Zaman</h4>
<div class="form-group">
<input type="text" class="form-control" name="galeri_zaman" value="<?php echo @$zaman ?>"required />
</div>
</div>
</div>
<div class="col-md-4">
<div class="card-body">
<h4 class="card-title">Sıra</h4>
<div class="form-group">
<input type="number" class="form-control" name="galeri_sira" value="<?php echo @$sira ?>"required />
</div>
</div>
</div>
<div class="col-md-6">
<div class="card-body">
<div class="form-group">
<h4 class="card-title">Kapak Fotoğrafı</h4>
<input type="file" name="galeri_resimyol" class="filestyle" data-buttonname="btn-primary">
</div>
</div>
</div>
<div class="col-md-6">
<div class="card-body">
<div class="form-group">
<h4 class="card-title">Çoklu Fotoğraf Yükle</h4>
<input type="file" name="resim[]" id="resim[]" multiple class="filestyle" data-buttonname="btn-primary">
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-4">
</div>
<div class="col-5">
<button type="submit" name="galeriKaydet" class="btn btn-success"><i class="fas fa-save"></i> Kaydet</button><br><br>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<?php
include "inc/footer.php";
?>
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (0)
Henüz kimse cevap yazmadı. İlk cevap yazan sen ol!