v2.5.2
Giriş yap

Php upload işleminde klasörün içine resim yolu verme sorunu

yazilimyolcusu
81 defa görüntülendi

Kök dizindeki resimler klasörüne çoklu resim yükleme ve insert işlemi yapmaya çalışıyorum. Resimleri veri tabanına girebiliyorum ve resimler klasörüne upload edebiliyorum. Ama yüklediğim resimleri bir klasöre göndermek istiyorum. Mesela, 1.jpg, 2.jpg, 3.jpg diye üç tane resim var. Bunları insert ettiğimde resimler klasörünün içinde bir klasör oluşacak, bu klasörün adı ilan numarası ile aynı olacak ve içine upload olacak. Kodlar aşağıda.

if(isset($_FILES['dosya'])) {
    $_POST['ilannumarasi'];

    for($i=0; $i<count($_FILES['dosya']['name']); $i++) {
        $dosyaadi[] = basename($_FILES['dosya']['name'][$i]);
        $yuklenendosya = $_FILES['dosya']['tmp_name'][$i];
        $hedefyol = "../../images/yenieklenenler/" . $dosyaadi[$i];
        move_uploaded_file($yuklenendosya, $hedefyol);
    }
}
yazilimyolcusu
47 gün önce

Sorunu yapay zeka'ya (Gemini) sordum. Çözümü şöyle verdi. Sorun çözüldü. Cevap için teşekkür ederim.

$_POST['ilannumarasi']; 
if (!mkdir("images/yenieklenenler/$ilannumarasi")) {  
   echo "Klasör oluşturma hatası!";  
   exit; 
}
 
for($i=0; $i<count($_FILES['dosya']['name']); $i++) {  
    $dosyaadi[] = basename($_FILES['dosya']['name'][$i]);   
    $yuklenendosya = $_FILES['dosya']['tmp_name'][$i];  
    $hedefyol = "images/yenieklenenler/$ilannumarasi/" . $dosyaadi[$i];  
    move_uploaded_file($yuklenendosya, $hedefyol); 
}
 
$resimler = implode(', ', $dosyaadi); 
$query = "INSERT INTO yenieklenenler (yenieklenenler_resim, yenieklenenler_ad, yenieklenenler_ilannumarasi) VALUES ('$resimler', '$emlakadi', '$ilannumarasi')"; 
if (mysqli_query($db, $query) === TRUE) {  
   echo '<div style="margin-top:25px; text-align:center; font-size:35px;">  Kayıt Başarıyla Gerçekleştirildi</div>';  
   header("refresh:3; url=yenieklenenler.php"); 
} else {  
   echo '<div style="margin-top:25px; text-align:center; font-size:35px;">  Kayıt Başarısız. <br> Geldiğiniz Sayfaya Yönlendiriliyorsunuz.</div>';  
   header("refresh:5; url=yenieklenenler.php"); 
}