private $ftpConnInfo = [
'host' => '',
'port' => '21',
'timeout' => '3',
];
// 根据url获取ip
$urlInfo = parse_url($url);// 解析URL字符串
$this->ftpConnInfo["host"] = gethostbyname($urlInfo["host"]??$url);
if( !preg_match('/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/', $this->ftpConnInfo["host"]) ) $this->error("链接格式错误",$urlInfo,203);
// 连接FTP
$con = ftp_connect(...array_values($this->ftpConnInfo)) or $this->error("Couldn't connect to $this->ftpConnInfo['host']",null,203);
$user = 'name';// FTP账号
$pwd = "password)";// FTP密码
$login = @ftp_login($con,$user,$pwd);
if(!$login){
$this->error("FTP登录失败");
}
// 设置被动模式 才可以进行FTP传输
ftp_set_option($con,FTP_USEPASVADDRESS,true);
ftp_pasv($con,true);
// 设置FTP传输模式为二进制模式
ftp_set_option($con, FTP_BINARY, true);
// 修改权限
ftp_chmod($con,0755,"文件名");
// 创建FTP服务器目录
ftp_mkdir($con,"目录名");
// 下载文件 (连接,本地重命名,线上文件名,类型)
ftp_get($con,"text.txt","server.php",FTP_BINARY);
// 上传文件
$localFile = __DIR__ . "/text.txt";
ftp_put($con,'abc.txt',$localFile,FTP_ASCII);
ftp_size($con, 'server.text');
// 关闭链接
ftp_close($con);