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.

11 thoughts on “PHP ile FTP’ye Bağlanıp Dosya Yükleme


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


  2. 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.


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


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

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


  5. Merhaba,
    Ftpye başarılı bir şekilde bağlandım ancak dosyayı yükleyemiyorum. Aldığım hata:
    “Warning: ftp_put(): Filename cannot be empty”
    Kolay gelsin


  6. form da verinin files olduğunu belirtmemişsin şeklinde olacak ama $kaynakdosya = $_POST[“kaynakdosya”]; şeklinde o veriyi alamazsın $kaynakdosya=4_FILES[“kaynakdosya”][tmp_name];
    böyle bile olsa bu yöntemle dosyayı ftp yükleyemezsin. dosyanın sadece ismini alman gerekir $kaynakdosya=4_FILES[“kaynakdosya”][name]; şeklinde ve dosya komutu çalıştırdığın dizinde olursa onu ftp aktarır.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir