Selam
Ajax ile resim yüklemek için form kullanıyorum.
Resim seçtiğim bir adet input
Resim açıklması için input
Resimin hangi dizine yükleneğine daire bir adet selectbox
Formdaki tüm verileri ajax ile php dosyasına nasıl post edebilirim..
Ajax image upload php
6
●192
- 30-01-2023, 09:12:48https://stackoverflow.com/a/20462576/13448297buddy adlı üyeden alıntı: mesajı görüntüle
- 30-01-2023, 09:15:55Aşağıdaki şekilde yapabilirsin hocam gönderme işlemini
<form id="resimyukle"> <input type="file" name="Resim" accept="image/png, image/jpg, image/jpeg" > <input type="text" name="Aciklama"> <select name="Dizin"> <option value="Dizin1">Dizin 1</option> <option value="Dizin2">Dizin 2</option> </select> <button type="submit">Resmi Yükle</button> </form> <script> $("#resimyukle").on('submit', function(event) { event.preventDefault(); var form = $(this); var formData = new FormData($(form)[0]); $.ajax({ url: 'ajax.php', type: 'POST', dataType: 'json', processData: false, contentType: false, data: formData, success: function(intero) { console.log(intero.message); } }) }) </script> - 30-01-2023, 11:01:01Teşekkürler hocam akşam deneyeceğim. Post edilen php de hata veya başarılı vb kaydı bilgisini geri nasıl döndürebilirim. Küçük bir modal ile post edilen sayfada gösterirsem daha iyi olur.Xelim adlı üyeden alıntı: mesajı görüntüle
- 30-01-2023, 11:06:19Sweet alert kullanabilirsin. Örneğin ajax'ın başarılı döngüsünün içerisine;buddy adlı üyeden alıntı: mesajı görüntüle
Swal.fire({ position: "center", icon: intero.response, text: intero.message, showConfirmButton: false, timer: 1500 });Bu kodu kullanabilirsin. Json ile response ve message bilgisini alırsın. - 04-02-2023, 20:05:32Xelim adlı üyeden alıntı: mesajı görüntüle
hocam bu kodu deniyorum. verot kullanıyorum ajax-upload.php dosyasında.
ama resimi dizine yüklemiyor sadece veritabanına kaydediyor dosya bilgilerini..
upload.php dosyası nasıl olmalı dizine yükleyebilmem için? - 04-02-2023, 20:16:44Aşağıdaki şekilde dizine yüklemeyi yapabilirsin;buddy adlı üyeden alıntı: mesajı görüntüle
$filename = uniqid() . "-" . time(); // 5dab1961e93a7-1571494241 $extension = pathinfo( $_FILES["Resim"]["name"], PATHINFO_EXTENSION ); $basename = $filename . "." . $extension; // 5dab1961e93a7_1571494241.jpg $valid_ext = array('png','jpeg','jpg'); $source = $_FILES["Resim"]["tmp_name"]; $destination = "../../upload/{$basename}"; $file_extension = pathinfo($destination, PATHINFO_EXTENSION); $file_extension = strtolower($file_extension); if(in_array($file_extension,$valid_ext)){ compressImage($source,$destination,60); }else{ $jsonResult->response = "warning"; $jsonResult->message = "Sadece PNG, JPG, JPEG uzantılı dosya yükleyebilirsiniz."; echo json_encode($jsonResult); die; }Ayrıca bu kodda kullandığım compressImage fonksiyonu fotoğrafın boyutunu sıkıştırmaya yarıyor. Onu da kullanmak istersen fonksiyonu da ekliyorum. İstemezsen de o alanı düzenleyebilirsin.
function compressImage($source, $destination, $quality) { $info = getimagesize($source); if ($info['mime'] == 'image/jpeg') $image = imagecreatefromjpeg($source); elseif ($info['mime'] == 'image/gif') $image = imagecreatefromgif($source); elseif ($info['mime'] == 'image/png') $image = imagecreatefrompng($source); imagejpeg($image, $destination, $quality); }