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的协议很繁杂,核心的内容在于密码算法,而且自己很难在网上找到周全的细节讲解与详细的实现,只有 ...
随机推荐
- SU suchart命令学习
- Chart系列(一):Chart的基本元素
如何使用一个Chart,则首先必须要了解其组织结构,其次知道其API. Chart元素 首先,来看看Chart组成元素. Axis Label:坐标轴标签 Axis Title:坐标轴标题 C ...
- POJ3764 The xor-longest Path(Trie树)
题目给一棵有边权的树,问树上任意两点路径上的边异或值最多是多少. 记录每个点u到根路径的异或值xor[u],那么任意两点u.v路径的异或值就是xor[u]^xor[v]. 于是这个问题就变成了从n个数 ...
- 【BZOJ】1048: [HAOI2007]分割矩阵
http://www.lydsy.com/JudgeOnline/problem.php?id=1048 题意:给出一个a×b(a,b<=10)的矩阵,带一个<=100的权值,现在要切割n ...
- JavaScript_解决safari浏览器window.open无法实现的问题
解决 safari window.open 无法实现的问题 先说下问题是什么吧: safari 中没办法在回调函数里面执行window.open, 原因是safari的安全机制将其阻挡了(具体的原因可 ...
- Java 利用Apache Commons Net 实现 FTP文件上传下载
package woxingwosu; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import ...
- javascript事件大全4
javascript事件列表解说 事件 浏览器支持 解说 一般事件 onclick IE3.N2 鼠标点击时触发此事件 ondblclick IE4.N4 鼠标双击时触发此事件 onmousedown ...
- Matlab Delete Row or Col 删除矩阵的行或列
Matlab中,我们有时候要删除矩阵中的某行某列,可以采用下列方法进行删除: a = [ ]; a(,:) = []; % Delete row a(:,) = []; % Delete col
- FreeBSD Intel SYSRET Kernel Privilege Escalation Exploit
/* * FreeBSD 9.0 Intel SYSRET Kernel Privilege Escalation exploit * Author by CurcolHekerLink * * Th ...
- Ubuntu 14.04 AMD 64位 下 Android Studio 的安装
Ubuntu 14.04 AMD 64位 下 Android Studio 的安装 作者:yoyoyosiyu 邮箱:yoyoyosiyu@163.com 时间:2015年8月25日 Android ...