PHP Dersleri, MySQL ve Açık Kaynak


« PHP ile FTP’ye Bağlanıp Dosya Yükleme

Bu örneği yaparken ftp fonksiyonları göstermeyi amaçladım. Tek tek fonksiyonları göstermektense güzel bir örnek ile daha iyi anlayacağınızı umuyorum.

İlk önce index.php sayfamızı oluşturacağız.

<form action="gonder.php" method="POST">  

<input type="file" name="kaynakdosya"><br>  

<input type="submit" value="Yolla">  

</form>

Burada dosyamızı ekliyoruz ve Yolla butonuna bastıktan sonra gonder.php sayfası karşımıza geliyor.

<?php  

//ftp serverımızı, kullanıcı adı ve şifremizi yazıyoruz. 

$ftpserver = "ftp.zartzurt.com";  

$ftpuser = "zartzurt";  

$ftppass = "123456";  

//POST metodu ile dosyamızı çekiyoruz.  

$kaynakdosya = $_POST["kaynakdosya"];  

$hedefdosya = $kaynakdosya;  

//ftp_connect ile ftp serverımıza bağlanıyoruz  

$baglanti = ftp_connect($ftpserver);  

//kullanııcı bilgilerimiz ile giriş yapıyoruz.  

$giris = ftp_login($baglanti, $ftpuser, $ftppass);  

//bağlantı ve girişin olumlu olup olmadığını kontrol ediyoruz.  

if ((!$baglanti) || (!$giris)) {  

echo "Ftp bağlantısı sağlanamadı";  

die;  

} else {  

echo "Ftp'ye bağlanıldı<br>";  

}  

//ftp_put fonksiyonu ile dosyamızı yüklüyoruz.  

$yukle = ftp_put($baglanti,$hedefdosya, $kaynakdosya, FTP_BINARY);  

//yüklenip yüklenemdiğini kontrol ediyoruz  

if (!$yukle) {  

echo "Dosya Yüklenemiyor";  

} else {  

echo "Dosya Yüklendi";  

}  

//bağlantımızı kapatıyoruz  

ftp_close($baglanti);  

?>

$ftpserver, $ftpuser ve $ftppass alanları kendinize göre doldurduktan sonra işlemi gerçekleştirebilirsiniz.

Uygulama dosyasını http://www.guraysuerdem.com/dosya/ftp.rar adresinden indirebilirsiniz.




9 Yorum


  • 25 Ocak 2008
    ilkin Balkanay yazdı


    Merhaba, dosyanin % kacinin karsi tarafa gittigini nasil ogrenebiliriz? FTP sayfasinda progress bar gostermek istersek nasil bir yontem izlememiz gerekecek?

  • 25 Ocak 2008
    Güray Süerdem yazdı


    Yapmak istediğini javascript ile yapabilirsin örnek olarak bolca ajax kütüphanesi bulunuyor burada verdiğim örnekleri inceleyebilirsin

    http://www.webdice.org/uber_uploader/
    http://thinkingphp.org/demos/cake-timer/
    http://www.sibsoft.net/xupload.html

    Daha sonra anlaşılır bir şekilde örnek yaparak göstereceğim

  • 23 Şubat 2008
    serkan yazdı


    peki herhangi bi güvelik acığı söz konusumu ?

  • 23 Şubat 2008
    Güray Süerdem yazdı


    Eğer transfer anında senin ile sunucunun arasına 3. bir kişinin girme ihtimali varsa güvenlik açığı oluşabilir.Buda senin veya sunucunun izlenmesi sonucu oluşur.

  • 08 Ekim 2010
    mert yazdı


    kodu gösterilecek yazı

  • 06 Şubat 2011
    mert yazdı


    arkadaşlar ne kadar denediysem olmadı sunucuya bağlanıyor ama dosyayı aktarmıyor yardım edebilirmisiniz 🙁

  • 11 Ocak 2012
    serpito yazdı


    @mert, form elementinde enctype parametresi eksik, o yüzden dosya aktarılamıyordur.

  • 25 Mayıs 2013
    Muharrem Şen yazdı


    Güzel bir bilgi paylaşımı. Teşekkürler.

    Küçük bir sorum olacak.
    Uzak sunucuya upload edilecek dizini nasıl belirleyebiliriz?

  • 07 Aralık 2014
    şerif güngör yazdı


    Çok teşekkürler en kısa zamanda test edeceğim.

Yorumla