Uzak FTP Sunucusuna Dosya ve Klasör Yükleme ve Kopyalama

Yerel bilgisayardaki bulunan dosyalarınızı uzak ftp’ye hızlıca aktarabilirsiniz.

ftp.siteadresim.com ftpkullanici ftpsifre bilgileri yerine ftp bağlantı bilgilerinizi giriniz.

$nereden değişkenine kopyalanacak mevcut local dizini,

$nereye değişkenine ftp’de oluşturmak ve dosyaları içine kopyalamak istediğiniz dizini yazınız

<?php
set_time_limit(0);
class FtpYukleme{
	public function klasorleriKopyala($klasorIcerik,$nereye,$nereden,$ftp){
		foreach($klasorIcerik as $anahtar=>$deger){
			if(is_array ($deger)){
				ftp_mkdir($ftp, $nereye.'/'.$anahtar);
				$this->klasorleriKopyala($deger,$nereye.'/'.$anahtar,$nereden.'/'.$anahtar,$ftp);
			}else{
				ftp_put($ftp , $nereye.'/'.$deger,$nereden.'/'.$deger,FTP_ASCII);
			}
		}		
	}
	public function klasoruOku($yol){
		$dh = opendir($yol);
		$klasorIcerik = array();
		while (($dosya = readdir($dh)) !== false) {
			if(!(preg_match('/^\.{1,2}$/',$dosya)||preg_match('/^\.svn[a-z,0-9]*$/',$dosya))){
				if(is_dir($yol.'/'.$dosya)){
					$klasorIcerik[$dosya] = $this->klasoruOku($yol.'/'.$dosya);
				}
				else{
					$klasorIcerik[] = $dosya; 
				}
			}
		}
		return $klasorIcerik;
	}	
}
$ftp = ftp_connect('ftp.siteadresim.com',21);//ftp ip veya adres 
ftp_login($ftp,'ftpkullanici','ftpsifre');
$nereden = $_SERVER['DOCUMENT_ROOT']."";//kopyalanacak mevcut local dizin 
$nereye = '/httpdocs/olmayandizin';//kopyalanacak boş ftp dizininiz
ftp_mkdir($ftp, $nereye);
$ftpYukle = new FtpYukleme();
$klasorIcerik = $ftpYukle->klasoruOku($nereden);
$ftpYukle->klasorleriKopyala($klasorIcerik,$nereye,$nereden,$ftp);
ftp_close($ftp);
?>