Form'da birden fazla input'dan resim yükleme
Merhabalar arkadaşlar. formumda 2 adet file input'u olacak. bu inputlarla 2 farklı resim yükletmek istiyorum. ama resim yükleme fonksiyonunu buna göre nasıl ayarlayabilirim bilemiyorum. yardımcı olurmusunuz :)
<?php
if(isset($_POST['genelayarbutton'])){
require_once 'inc/class.upload.php';
$baslik = post('baslik');
$siteurl = post('url');
$etiketler = post('etiketler');
$aciklama = post('aciklama');
if(!$baslik || !$siteurl || !$etiketler || !$aciklama){
uyari('Boş alan bırakmayınız','danger');
}else{
$image = new Upload($_FILES['resim']);
if($image->uploaded) {
$rname = sha1(md5(uniqid()));
$image->allowed = array("image/*");
$image->image_convert = "png";
$image->file_new_name_body = $rname;
$image->image_text = " ";
$image->image_text_position = "BR";
$image->process("../images/");
if($image->processed){
$ayarguncelle = $db->prepare("UPDATE ayarlar SET
site_baslik =:b,
site_logo =:lo,
site_url =:u,
site_keyw =:k,
site_desc =:d
");
$ayarguncelle->execute([
':b'=> $baslik,
':lo'=>$rname.".png",
':u'=> $siteurl,
':k'=> $etiketler,
':d'=> $aciklama
]);
}else{
uyari('Resim yüklenemedi','danger');
}
}else{
$ayarguncelle = $db->prepare("UPDATE ayarlar SET
site_baslik =:b,
site_url =:u,
site_keyw =:k,
site_desc =:d
");
$ayarguncelle->execute([
':b'=> $baslik,
':u'=> $siteurl,
':k'=> $etiketler,
':d'=> $aciklama
]);
}
if($ayarguncelle){
uyari('Genel ayarlar güncellendi','success');
header('refresh:2;url='.$_SERVER['HTTP_REFERER']);
}
}
}
?>
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (6)
Discord'unu yazabilirsen daha iyi olur benim için :)
verot upload kullanıyorsun ve ındırdıgın dosya ıcerısınde multi upload ornegı var
$files = array();
foreach ($_FILES['resim'] as $k => $l) {
foreach ($l as $i => $v) {
if (!array_key_exists($i, $files))
$files[$i] = array();
$files[$i][$k] = $v;
}
}
foreach ($files as $file) {
$handle = new Upload($file);
KODLARINI BUNUN ICINE KOY
}
name="resim[]" şeklinde olacak
Yani tek inputtan hiç bir farkı yok. Sadece $_FILES
'ın key değerini değiştiriyorsun inputun name değerini veriyorsun o kadar.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<?php
if ($_POST) {
$image1 = $_FILES['image1'];
$image2 = $_FILES['image2'];
}
?>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="image1[]"> <br />
<input type="file" name="image2[]"> <br />
<button type="submit">Upload</button>
</form>
</body>
</html>
Yukarıda verdiğim örnekteki gibi alıcaksın. $_FILES değişkeninden sonra $_FILES['key']
bölümündeki key
değerine inputun ismini yazıcaksın.
İyi çalışmalar dilerim..
bu sorunu çözecektir sanırım
<?php
if(isset($_POST['genelayarbutton'])){
require_once 'inc/class.upload.php';
$baslik = post('baslik');
$siteurl = post('url');
$etiketler = post('etiketler');
$aciklama = post('aciklama');
if(!$baslik || !$siteurl || !$etiketler || !$aciklama){
uyari('Boş alan bırakmayınız','danger');
}else{
$image = new Upload($_FILES['resim']);
$image2 = new Upload($_FILES['resim2']);
if($image->uploaded || $image2->uploaded ) {
$rname = sha1(md5(uniqid()));
$image->allowed = array("image/*");
$image->image_convert = "png";
$image->file_new_name_body = $rname;
$image->image_text = " ";
$image->image_text_position = "BR";
$image->process("../images/");
$rname2 = sha1(md5(uniqid()));
$image2->allowed = array("image/*");
$image2->image_convert = "png";
$image2->file_new_name_body = $rname;
$image2->image_text = " ";
$image2->image_text_position = "BR";
$image2->process("../images/");
if($image->processed || $image2->processed){
$ayarguncelle = $db->prepare("UPDATE ayarlar SET
site_baslik =:b,
site_logo =:lo,
site_logo2 =:lo2,
site_url =:u,
site_keyw =:k,
site_desc =:d
");
$ayarguncelle->execute([
':b'=> $baslik,
':lo'=>$rname.".png",
':lo2'=>$rname2.".png",
':u'=> $siteurl,
':k'=> $etiketler,
':d'=> $aciklama
]);
}else{
uyari('Resim yüklenemedi','danger');
}
}else{
$ayarguncelle = $db->prepare("UPDATE ayarlar SET
site_baslik =:b,
site_url =:u,
site_keyw =:k,
site_desc =:d
");
$ayarguncelle->execute([
':b'=> $baslik,
':u'=> $siteurl,
':k'=> $etiketler,
':d'=> $aciklama
]);
}
if($ayarguncelle){
uyari('Genel ayarlar güncellendi','success');
header('refresh:2;url='.$_SERVER['HTTP_REFERER']);
}
}
}
?>