Kayıt Ol

Giriş

Şifremi Kaybettim

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

PHP ile sunucuya dosya yükleme

PHP uygulamaları yazarken zaman zaman sunucuya dosya göndermeniz gerekebilir. Bu uygulamamızda form nesnesi olan file field’ den alınan dosyayı ismini değiştirerek sunucuya göndermeye çalışacağız. Uygulamayı sunucu üzerinde denerken yazma izinlerine dikkat etmenizi tavsiye ederim. Öncelikle dosya seçme formumuzu oluşturalım.

Formumuzun action kısmına sunucuya dosya gönderme kodlarını yazacağımız dosya adresini yazdık. Dosyaya ait isim,tip, boyut bilgilerini almak için PHP deki ön tanımlı sunucu değişkeni olan $_FILES değişkeni kullanılır. $_FILES iki boyutlu bir dizi değişken gibi davranır. Bu dizi değişkenin ilk indisi file field nesnemizin adıdır. İkinci indisi ise yüklenecek dosyaya ait olan isim,tip,kaynak,hata ve boyut bilgileridir.Dosyaya ait bilgiler;

Artık sunucuya göndereceğimiz dosyaya ait bilgiler elimizde mevcut. Bu bilgileri kullanarak dosyayı sunucuya göndermek için move_uploaded_file fonksiyonu kullanılır.

Sunucuya dosya gönderirken karşılaşabileceğimiz bir sorunda sunucuda aynı dosyanı olması ihtimalidir. Bu durumda yeni dosya eski dosya ile yer değiştirecektir. Bu sorunu çözmek için dosyanın ismini benzersiz bir isimle değiştirerek yeni dosya ismi oluşturulabilir. Bunun için;

  • Öncelikle dosya uzantısı elde edilmeli
  • Dosya için yeni bir isim üretilmeli
  • Üretilen isim ile dosya uzantısı birleştirilmelidir

Yeni dosya ismiyle birlikte dosyamızı sunucuya göndermek için;

Dosya ismi değiştirilerek sunucuya gönderme işlemini bu şekilde gerçekleştirebilirsiniz. Uygulamayı biraz daha geliştirmek için dosya tipini ve dosya boyutununda kontrol edilmesi gerekiyor. Bu konuyuda bir sonraki yazıda açıklamaya çalışacağım.

Yazar Hakkında

Leave a reply

Captcha Captcha güncellemek için resime tıkla

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">