//2.1、linux主机上传linux主机。
function ftpSendFile($source,$des,$ftp_server,$ftp_user_name,$ftp_user_pass,$port){
// 此步骤是在于上传目录与本机的目录不一致转换使用
$des = "/d" . $des;
$conn_id = ftp_connect($ftp_server, $port) or die("Couldn't connect to $ftp_server");
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
//********* 特别注意:如果为ftp为:pure-ftpd 上传不上去的情况下可以尝试注释下方代码
ftp_pasv($conn_id, TRUE);
$ftp_folder = dirname($des);
$dir = explode("/", $ftp_folder);
$path = "";
for ($i = 0; $i < count($dir); $i++) {
$path .= "/" . $dir[$i];
if (!ftp_chdir($conn_id, $path)) {
$result = ftp_mkdir($conn_id, $path);
}
}
if (ftp_put($conn_id, $des, $source, FTP_BINARY)) {
return 1;
} else {
return 0;
}
ftp_close($conn_id);
}
//2、windows主机上传linux主机。
function sendPic($source,$des,$ftp_server,$ftp_user_name,$ftp_user_pass,$port){
//$des = "/d" . $des;
$conn_id = ftp_connect($ftp_server, $port) or die("Couldn't connect to $ftp_server");
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
//********* 特别注意:如果为ftp为:pure-ftpd 上传不上去的情况下可以尝试注释下方代码
ftp_pasv($conn_id, TRUE);
$ftp_folder = dirname(str_ireplace('\\', '/', $des));
$dir = explode("/", $ftp_folder);
$path = "";
for ($i = 0; $i < count($dir); $i++) {
$path .= "/" . $dir[$i];
if (!ftp_chdir($conn_id, $path)) {
$result = ftp_mkdir($conn_id, $path);
}
}
var_dump($conn_id);
var_dump($des);
var_dump($source);
dump(str_ireplace('\\', '/', $des));
if (ftp_put($conn_id, str_ireplace('\\', '/', $des), $source, FTP_BINARY)) {
return 1;
} else {
return 0;
}
ftp_close($conn_id);
}
示例
$res = $this->sendPic('./Public/jquery-1.8.3.min.js',
'/jquery-1.8.3.min.js','47.94.100.99',
'dxxn','rUb2ceYs',21);
dump($res);
```