ssh2 php扩展
如果要创建文件需要有权限
writer:copperpeas http://csq-3.blog.163.com/blog/static/38738439201101543127935/
<?php
/*
*    通过SSH登录到远程主机,实现传递文件的功能
*/
//define('EXT_DIR',realpath(dirname(__FILE__)));  //当前目录
define('SSH_USER','root');
define('SSH_PASSWORD','//mll@$c');
define('SSH_PORT',22);
define('SSH_HOST','image.meilele.com');//远程主机
define('REMOTE_DIR_EXT','/var/www/meilele_100514/bbs');  //要操作的远程根目录
//实现传输图片到远程主机,返回bool,参数分别为本地的图片路径,远程图片路径,以及要新建的目录
$local="1.gif";//本地图片
$remote="/attachments/1101141013d18b94985c13732f.jpg";
imageSend($local,$remote);
function imageSend($local,$remote,$new_dir_arr = array())
{
    
 if (!function_exists("ssh2_connect")) die("function ssh2_connect doesn't exist");
    $connection = ssh2_connect(SSH_HOST, SSH_PORT);
    
 if (!$connection) die('SSH Connection failed');
    
 if (ssh2_auth_password($connection, SSH_USER, SSH_PASSWORD))
    {
        $sftp = ssh2_sftp($connection);
       
        $dir = explode('/',$remote);
        $path = REMOTE_DIR_EXT;
        for($i = 0; $i<count($dir)-1;$i++)  //建立目录
        {
            if($dir[$i])
            {
                $path .= '/'.$dir[$i];
                ssh2_sftp_mchkdir($sftp, $path);
            }
        }
        if(substr($remote,0,1) != '/') $remote = '/'.$remote;
        $remote = REMOTE_DIR_EXT.$remote;
  //echo ($remote);
        ssh2_scp_send($connection, $local, $remote, 0777);  
    }
    else
    {
        die('SSH Connection failed');
    }
}
function ssh2_sftp_mchkdir($sftp,$path) 
{
 ssh2_sftp_mkdir($sftp, $path);
}
?>
参考函数:http://docs.php.net/manual/zh/function.ssh2-sftp-mkdir.php
ssh2 php扩展的更多相关文章
- php的ssh2扩展安装
		折腾半天,结论如下: 1.先需要openssl 用which openssl看是否已安装 2.然后libssh2 用rpm -ql libssh2查看 3.下载源码的shh2x.x.x.tgz的包 4 ... 
- 利用Php ssh2扩展实现svn自动提交到测试服务器
		1.安装ssh2扩展 (1)window . 下载 php extension ssh2 下载地址 http://windows.php.net/downloads/pecl/releases/ssh ... 
- windows环境下为php打开ssh2扩展
		安装步骤 1. 下载 php extension ssh2下载地址 http://windows.php.net/downloads/pecl/releases/ssh2/0.12/ 根据自己PHP的 ... 
- PHP7 学习笔记(一)Ubuntu 16.04 编译安装Nginx-1.10.3、 PHP7.0.9、Redis3.0 扩展、Phalcon3.1 扩展、Swoole1.9.8 扩展、ssh2扩展(全程编译安装)
		==================== PHP 7.0 编译安装================== wget http://cn2.php.net/get/php-7.0.9.tar.bz2/fr ... 
- 基于LNMP环境的ssh2扩展
		openssl: 加密算法集合,C语言实现 libssh2:ssh2协议库库,C语言实现 PECL/ssh2: libssh2的php扩展,允许php程序调用libssh2中的函数 依赖关系:PECL ... 
- 在OS X系统中php访问sftp时需要ssh2扩展的安装
		php -v brew install homebrew/php/php55-ssh2 [实现方式] <?php $connection = ssh2_connect('192.168.0.14 ... 
- 使用phpize安装php扩展
		环境: CentOs 6.3 php 7 nginx 举例: 安装ssh2扩展 1.登陆http://pecl.php.net,搜索ssh2,如下图所示,注意版本的选择要根据php的版本来 2.下载s ... 
- PHP 开启 ssh2
		首先,为PHP安装SSH2扩展需要两个软件包, libssh2和ssh2(php pecl拓展). 两者的最新版本分别为libssh2-1.5.0.tar.gz和ssh2-0.12.tgz,下载地址分 ... 
- SSH2.0编程 ssh协议过程实现
		之前为了自己做一套SSH,先自己实现了一套telnet.但经过这么多天的苦逼,发现以前的工作都是徒劳.ssh的协议很繁杂,核心的内容在于密码算法,而且自己很难在网上找到周全的细节讲解与详细的实现,只有 ... 
随机推荐
- Google地图接口API之Google地图 API 参考手册(七)
			Google 地图API 参考手册 地图 构造函数/对象 描述 Map() 在指定的 HTML 容器中创建新的地图,该容器通常是一个DIV元素. 叠加层 构造函数/对象 描述 Marker 创建一个标 ... 
- MVC 依赖注入扩展
			需求: 小明想要完成一个功能F,需要一把锤子T. 有两种办法可以实现: 1)小明很爱动手,精力很旺盛,于是,自己创建一个具有功能F的锤子T,并使用T来完成F: 2)小明很懒,天天睡大觉,于是,他叫小健 ... 
- Flo's Restaurant[HDU1103]
			Flo's Restaurant Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ... 
- Linux 档案与目录管理
			『 cd /etc 』这个情况,这也就是所谓的『绝对路径』,他是从根目录连续写上来的一个情况,所以不论你在哪一个路径现执行这一个指令,都会将你移动到该路径下.那如果我是使用『 cd etc 』呢?那表 ... 
- 【BZOJ】3039: 玉蟾宫(DP/单调栈)
			http://www.lydsy.com/JudgeOnline/problem.php?id=3039 每次看到我的提交都有点淡淡的忧伤T_T.. 看到此题我想到用前缀和维护点ij向左和向上能拓展的 ... 
- HDU 4649 Professor Tian(DP)
			题目链接 暴力水过的,比赛的时候T了两次,优化一下初始化,终于水过了. #include <cstdio> #include <cstring> #include <st ... 
- [zt]给你的Mp4大换血,精选Touch里3年收集的900多首歌,"经典不忍去的""最新近流行的",与你共享~~
			如果你是音乐爱好者: 这些歌, 请戴上耳机, 调大音量, 一个人听 ,全世界 都是你的!!!!! (一)这些歌很温暖,没有金属味,适合有阳光的午后,很悠闲... [Anaesthesia]Maximi ... 
- [ZT] 酒店大洗脑:最全各大国际酒店集团族谱图
			原文地址: http://www.licai.com/yuedu/201411-62884.html 如果你对各大耳熟能详的国际酒店管理集团还有什么问题,相信今天和你分享的各大酒店集团家族系谱图和最全 ... 
- [转]ASP.NET 状态服务 及 session丢失问题解决方案总结
			转自[http://blog.csdn.net/high_mount/archive/2007/05/09/1601854.aspx] 最近在开发一ASP.NET2.0系统时,在程序中做删除或创建文件 ... 
- [转]通过继承ConfigurationSection,在web.config中增加自定义配置
			本文转自:http://www.blue1000.com/bkhtml/2008-02/55810.htm 前几天写了一篇使用IConfigurationSectionHandler在web.conf ... 
