如何跨网域跨主机跨server上传文件?一般最基本的上传方式是:
1.使用者把文件上传到 web server
2. web server 把上传的文件 利用 move_uploaded_file() 函式,将档案移到指定的文件夹内
但是,有时候我们需要把上传的档案放到另一台专门放文件的 file server,这时候,就无法利用 move_uploaded_file() 去搬移文件了,而需要利用 ftp 去传送文件至 file server,方法很简单...
直接看程式码:
代码如下 | 复制代码 |
$file = $_FILES['file']; $file_tmp = $file['tmp_name']; $file_name = $file['name']; if(is_uploaded_file($file_tmp)){ //确定user有"上传"文件 $file_ext = strrchr($file_name,'.'); //上传文件的副文件名 $file_name_new = date('YmdHis').$file_ext; $host = '127.0.0.1'; $port = '21'; $user = 'admin'; $pass = '123456'; $link = ftp_connect($host,$port); $login = ftp_login($link,$user,$pass); ftp_chdir($link,'filedir'); //切换到要放文件的文件夹 if(ftp_put($link,$file_name_new,$file_tmp,FTP_BINARY)){ $msg = '上传成功'; }else{ $msg = '上传失败'; } }else{ $msg = '上传失败'; } ftp_close($link); echo $msg; |