$file = $_FILES['file'];//获取文件
$ftpService = ""; //ftp服务端ip地址
$ftpUserName = ""; //ftp用户名
$ftpPwd = ""; //ftp密码
$file_source = $file['tmp_name'];//源文件
$file_name = $file['name'];//源文件名称
$connect = ftp_connect($ftpService) or die('no service');
ftp_set_option($connect, FTP_USEPASVADDRESS, false); //考虑到不同ftp环境,需要加此参数,否则可能会出现连接超时错误
ftp_login($connect, $ftpUserName, $ftpPwd);//登录
ftp_pasv($connect, true);//把被动模式设置为打开或关闭。 在被动模式中,数据连接是由客户机来初始化的,而不是服务器。这在客户机位于防火墙之后时比较有用。 TRUE = 被动模式打开 FALSE = 被动模式关闭
$path = 'image';
$now_time = date('Ymd');
$now_path = $path.'/'.date('Ymd');
$url = $path.'/'.$now_time.'/'.$file_name;
$res = ftp_chdir($connect,$now_path);//改变 FTP 服务器上的当前目录。
if(!$res){
ftp_mkdir($connect, $now_path);//创建文件目录
ftp_chdir($connect,$now_path);//改变 FTP 服务器上的当前目录
}else{
$res = ftp_chdir($connect,$now_time);//当前文件是否存在
if(!$res){
ftp_mkdir($connect, $now_time);//创建文件目录
ftp_chdir($connect,$now_time);//改变 FTP 服务器上的当前目录
}
}
$res = ftp_put($connect,$file_name,$file_source,FTP_BINARY);// FTP 连接,规定上传到 FTP 服务器上保存的文件,规定要上传的文件的路径,规定传输模式。可能的值:FTP_ASCII FTP_BINARY
// $res = true 上传成功,false=上传失败
ftp_close($connect);//关闭连接
特别说明:如果在部署服务器上,上传文件时,需要上传服务器上有的文件哦!否则提示不成功