v2.5.2
Giriş yap

Yüklenen Dosyayı Yakalayamıyorum. ?

aydinkeskin
900 defa görüntülendi

php ile post ettiğim dosya yı yakalayamıyorum

php tarafı

<?php
			
			if(isset($_FILES['dosya'])){
			   $hata = $_FILES['dosya']['error'];
			   if($hata != 0) {
					echo '<script type="text/javascript">sweetAlert("Uyarı...", "Yüklenirken Bir Hata Gerçekleşti.", "error");</script>';
			   } else {
				  $boyut = $_FILES['dosya']['size'];
				  if($boyut > (1024*1024*100)){ 
					echo '<script type="text/javascript">sweetAlert("Uyarı...", "file 100 MB den büyük olamaz.", "error");</script>';
				  } else {
					 $tip = $_FILES['dosya']['type'];
					 $isim = $_FILES['dosya']['name'];
					 $uzanti = explode('.', $isim);
					 $uzanti = $uzanti[count($uzanti)-1];
					 if( $uzanti != 'jpg' || $uzanti != 'jpeg' || $uzanti != 'png' || $uzanti != 'pdf' || $uzanti != 'ai'  || $uzanti != 'cdr' || $uzanti != 'zip' || $uzanti != 'rar' ) {
						echo '<script type="text/javascript">sweetAlert("Uyarı...", "Bu file Türü Yüklemek için Uygun Değil", "error");</script>';
					 } else {
						$file = $_FILES['dosya']['tmp_name'];
						copy($file, '/uploads/dosya/' . $_FILES['dosya']['name']);
						echo '<script type="text/javascript">sweetAlert("Uyarı...", "file Yüklendi", "success");</script>';
					 }
				  }
			   }
			}else{
				echo '<script type="text/javascript">sweetAlert("Uyarı...", "file Yüklemeyi Boş Geçemezsiniz", "error");</script>';

			}
?>

burdan gönderiyorum

$(document).ready(function () {
	$("#dosyaBTN").click(function(e){
		e.preventDefault();
		$.ajax({
			type:'POST', 
			url:'/ajax/dosya-form.php',
			data: $('#dosya-form').serialize(),
			success: function (data) {
				$('#dosyasonuc').html(data);
			}
		});
	});
});
								<div id="dosyasonuc"></div>  			


						<form   method="post" action="" id="dosya-form" onsubmit="return false;" enctype="multipart/form-data"> 
            <div class="contact-area mtb-60px">
                <div class="container"> 
                    <div class="custom-row-2">
 
                        <div class="col-lg-5 col-md-7">
                            <div class="contact-form">
                                <div class="contact-title mb-30">
                                    <h2>Teklif İste</h2>
                                </div>						

                                     <div class="row contact-form-style">
                                        <div class="col-lg-12">
                                            <input name="ad" placeholder="Lütfem Adınızı Giriniz *" type="text" />
                                        </div>
                                        <div class="col-lg-12">
                                            <input name="soyad" placeholder="Lütfem Soyadınız Giriniz *" type="text" />
                                        </div>
                                        <div class="col-lg-12">
                                            <input name="email" placeholder="E-Mail Adresiniz *" type="email" />
                                        </div>
                                        <div class="col-lg-12">
                                            <input name="telefon" placeholder="Telefon Numaranız *" type="text" />
                                        </div>  
                                        <div class="col-lg-12">
                                            <input name="urunadi" placeholder="Teklif İstenen Ürün *" type="text" />
                                        </div>  
                                    </div>  
                            </div>
                        </div>
                        <div class="col-lg-7 col-md-7">
                            <div class="contact-form ">
                                <div class="contact-title mb-30">
                                    <h2>Teklif İstenen Ürünün Özellikleri ve Detayları</h2>
                                </div> 
                                     <div class="row contact-form-style"> 
										<input type="hidden" name="CSRFtokenDosya" value="<?php echo $_SESSION['CSRFtokenDosya']; ?>" />
                                        <div class="col-lg-12">
										<p style="margin-bottom:10px;"> Max 100 MB Dosya Yükleyebilirsiniz. </p>
                                           <input type="file" name="dosya">
                                        </div>
										<hr>
                                        <div class="col-lg-12">
                                            <textarea name="icerik" placeholder="Mesajınız *"></textarea>
                                            <button class="submit"  id="dosyaBTN" type="submit">Gönder</button>
                                        </div>
                                    </div> 
                            </div>
                        </div>
                    </div>
                </div>
            </div>

                                </form>
 

her şekilde bana dosya yok uyarısı veriyor

print ile kontol ettiğimdede boş dönüyor.

anlamadım gitti nerde hata yapıyorum sweetalert ile ilgili olduğunu düşünüyorum biraz fakat pek de ihtimal vermiyorum

php tarafında bir sorun yok kontrol ettim de js özürlü biri olarak belki o kısımlarda hata yapmış olabilirim.

yardımcı olabilirmisiniz.?

tayfunerbilen
1436 gün önce

jquery ajax'la doğrudan dosya upload yapılmıyor, pluginler yardımı ile yapabilirsin ben şunu kullanıyorum
http://malsup.com/jquery/form/

Bir tane javascript dosyası var sadece onu dahil edip şu şekilde kullanabilirsin, form içindeki tüm değerleri otomatik gönderiyor dosyalar dahil, url'i form action kısmında belirttiğin yere gönderiyor

<form id="form" action="/ajax/dosya-form.php" method="post"> 
    Dosya: <input type="file" name="dosya" /> 
    <button type="submit">Yükle</button>
</form>
<script>
    $('#form').submit(function() { 
        $(this).ajaxSubmit({
            success: function(response){
                // işlemler
            }
        });
        return false; 
    }); 
</script>