欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

PHP写的多服务器文件同步的程序

程序员文章站 2022-05-07 09:20:52
...
跳至 [1] [全屏预览]
 $v){
		if(strlen($v)  array('strwei.com','FTP用户名','FTP密码', '打开FTP进去时的默认目录'),//ftp地址、用户名,密码、FTP打开此站点时的默认目录
						//'server2' => array('yy.9.je','FTP用户名','FTP密码','打开FTP进去时的默认目录'),
	);
	$aAbortFile  = array('robots.txt');
	$aErrors  	 = array();
	$iError		 = count($aErrors);
	$aSuc		 = array();
	foreach($aFTPServers as  $ftp) {
		$conn    = ftp_connect($ftp[0]);
		if(empty($conn)){
			$iError = $iError + 1;
			array_push($aErrors, $iError . "、服务器 $ftp 无法连接");
			continue;
		}
		$login = ftp_login($conn, $ftp[1], $ftp[2]);
		if(empty($login)){
			$iError = $iError + 1;
			array_push($aErrors, $iError . "、服务器 $ftp[0] 无法登录");
			continue;
		}

		$ftp_root = '';
		if(!empty($ftp[3])) $ftp_root = ftp_chdir($conn, $ftp[3]);
		$ftp_root = ftp_pwd($conn);
		if(substr($ftp_root, -1) == '/') $ftp_root = substr($ftp_root, 0, -1);
		foreach($aFiles as $k => $v){
			$s  = basename($v);
			if(in_array($s, $aAbortFile)) {
				$iError = $iError + 1;
				array_push($aErrors, $iError . "、文件 $v 不允许同步");
				continue;
			}
			if(!file_exists('.'.$v)) {
				$iError = $iError + 1;
				array_push($aErrors, $iError . "、文件 $v 不存在");
				continue;
			}
			$upload = ftp_put($conn, $ftp_root . $v, '.' . $v, FTP_BINARY);
			if(empty($upload)){
				$iError = $iError + 1;
				array_push($aErrors, $iError . "、文件 $v 上传失败");
				continue;
			}
			array_push($aSuc, $v);
		}
	}
	if(empty($aErrors)) {
		echo '上传成功: ' . implode('、', $aSuc);
		exit;
	}
	echo implode('
', $aErrors); exit; } $cc = '\r\n'; echo ''; echo


EOF; ?>