码迷,mamicode.com
首页 > Web开发 > 详细

sftp上传到远程服务器

时间:2017-05-04 13:30:50      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:连接   logs   图片   open   style   ftp   rem   get   本地   

开发遇到一个需求,需要将图片通过sftp上传到远程服务器上,之前没用过这个功能,折腾了我好几天才搞定,下面记录下我的处理方法:

$sftp = ‘ssh2.sftp://‘;
//连接sftp
$conn = ssh2_connect(‘IP‘,‘端口‘);
//登录 ssh2_auth_password(
$conn,"user","password"); $result = ssh2_sftp($conn);
//判断是否存在目录HM
if (!file_exists($sftp.$result.‘/HM/‘)) {   $dir = ssh2_sftp_mkdir($result, ‘/HM/‘,0777,true); }else{   $dir = true; } if($dir){   //realpath方法将相对路径转为绝对路径   $send = ssh2_scp_send($conn,realpath($localfile),$remotefile);
  //开始这种方法是测试可行的,后来ftp账号权限被修改,导致进不到根目录,然后不知为什么就不行了,之后就只能曲线救国采用下面的方法
}else{   $send = false; }

 

//远程服务器创建一个文件
$sftpStream
= fopen($sftp.$result.$remotefilename, ‘w‘);
//获取本地文件
$data_to_send = file_get_contents(realpath($localfilename));
//将本地文件写入到远程文件中
$send = fwrite($sftpStream, $data_to_send);
//关闭文件流
fclose($sftpStream);

 

sftp上传到远程服务器

标签:连接   logs   图片   open   style   ftp   rem   get   本地   

原文地址:http://www.cnblogs.com/dreamydeng/p/6806384.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!