客户要求把图片服务器和程序相分离,直接把上传文件从服务器A使用ftp协议发送到服务器B.
function ftpupload($farr){ //传递参数为$_FILES,用户form提交上传的文件变量 $ftp_server = "8.8.8.8"; //ftp服务端ip地址 $ftp_user_name = "statics"; //ftp用户名 $ftp_user_pass = "dd97b9f6b5"; //ftp密码 $conn_id = ftp_connect($ftp_server); $file = $farr['pic']['tmp_name']; $arr = explode('.',$farr['pic']['name']); $arr = strtolower($arr[count($arr)-1]); if(!in_array($arr,array('jpg', 'gif', 'png', 'jpeg'))){ return 0; } $remote_file = time().'.'.$arr; //随机文件名,防止重复 $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); ftp_chdir($conn_id,'uploads'); $exist_dir = ftp_nlist($conn_id,ftp_pwd($conn_id)); $date = date("Y-m-d"); $dir_name = '/uploads/'.$date; //按日期创建文件夹 if(!in_array($dir_name, $exist_dir)){ if(!ftp_mkdir($conn_id,$dir_name)){ return 0; } } ftp_chdir($conn_id,$dir_name); if(ftp_put($conn_id, $remote_file,$file,FTP_BINARY)){ return $date.'/'.$remote_file; //返回文件路径和名称,记录到数据库中以便调用 }else{ return 0; } ftp_close($conn_id); }
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。