SFTP类

'',//sftp服务器地址

'port' => ,//sftp服务器端口

'username' => '', //sftp服务器用户名

'password' => '' //sftp服务器密码

];

// 连接为NULL

private $conn = NULL;

// 初始化

public function __construct()

{

$this->connect();

}

public function connect()

{

$this->conn = ssh2_connect($this->config['host'], $this->config['port']); //资源

if(!ssh2_auth_password($this->conn, $this->config['username'], $this->config['password']))

{

echo json_encode([

'code' => 500,

'msg' => '无法在服务器进行身份验证',

'data' => null

]);die;

}

}

// 传输数据 传输层协议,获得数据

public function downftp($remote, $local)

{

$ressftp = ssh2_sftp($this->conn);

header('Content-Type: application/octet-stream');

header('Content-Disposition: attachment; filename='."ssh2.sftp://".$ressftp."/upload/".$remote);

header('Content-Transfer-Encoding: binary');

Header("Accept-Ranges: bytes");

header('Content-Disposition: attachment; filename=' . $local);

header('Content-Type: application/octet-stream; name=' . $local);

readfile("ssh2.sftp://".$ressftp."/upload/".$remote);

/**

* 从sftp服务器上下在文件,并保存的相应的目录

*/

//return copy("ssh2.sftp://".$ressftp."/upload/".$remote, __DIR__.'/../../public/'.$local);

//return copy("ssh2.sftp://".$ressftp."/upload/".$remote, $local);

//return ssh2_scp_recv($this->conn, $remote, $local);

}

// 传输数据 传输层协议,写入ftp服务器数据

public function upftp( $local,$remote, $file_mode = 0777)

{

$ressftp = ssh2_sftp($this->conn);

return copy($local,"ssh2.sftp://{$ressftp}".'gongwenliuzhuan/upload/'.$remote);

}

}

下载sftp服务上的文件的接口的文件

传相应的参数即可

如果需要检测sftp服务器上是否有该文件,请自行处理。

500,

'msg' => 'sftpFileName is null',

'data' => null

]);die;

}

//下载重命名

//$down_name = __DIR__.'/../../../public/'.$sftp_name;

//下载文件名

$new_name = trim($_GET['new_name']);

//下载文件类型

$type = strtolower(trim($_GET['type']));

if ($new_name == ''){

echo json_encode([

'code' => 500,

'msg' => 'newFileName is null',

'data' => null

]);die;

}

if ($type == ''){

echo json_encode([

'code' => 500,

'msg' => 'fileType is null',

'data' => null

]);die;

}

$down_name = $new_name.'.'.$type;

$my_sftp->downftp($sftp_name,$down_name);

Php7实现文件下载,PHP7 SFTP下载文件并重命名该下载文件相关推荐

  1. python查找文件并重命名_python复制文件并重命名

    标签:多个   file   请求   重命名   XML   基本   path   main   复制文件 def copy_files(path,newpath): #定义函数名称 old_na ...

  2. linux中如何复制文件并重命名_linux 下文件重命名/移动/复制命令(转)

    linux下重命名文件:使用mv命令就可以了, 例:要把名为:abc   重命名为:123 可以这样操作: 重命名:MV命令 1.进入你的文件目录,运行命令:   /cd  dir  (dir指的是你 ...

  3. php下载文件并重命名,通过php下载文件并重命名

    通过php下载文件并重命名 $filename = dirname(__FILE__) . '/oldfilename.jpg'; $out_filename = 'newfilename.jpg'; ...

  4. scp 保留文件属组_scp 对拷文件夹 和 文件夹下的所有文件 对拷文件并重命名

    对拷文件夹 (包括文件夹本身) scp -r   /home/wwwroot/www/charts/util root@192.168.1.65:/home/wwwroot/limesurvey_ba ...

  5. 批量用title的内容命名html文件,使用批处理批量复制文件并重命名

    使用批处理copy批量复制指定目录下(包括子目录)的老师,能否使用copy命令帮忙写个批处理实现以下功能: 复制指定目录下(包@echo off & title 备份文件 By 依梦琴瑶 :: ...

  6. 复制指定目录后缀文件并重命名

    复制指定目录后缀文件并重命名 背景: 最近有一个套网络课程,需要听的mp3是按照日期做文件夹,存放到阿里云难找并且会乱序.打算find+cp把文MP3文件都找出来,并按照序号+文件夹名+文件名顺序命名 ...

  7. python移动文件的函数_移动并重命名2000个文件,用Python,只需3秒

    原标题:移动并重命名2000个文件,用Python,只需3秒 作者:陈熹.刘早起 来源:早起Python 今天介绍的案例是如何利用Python来 自动化移动.修改.重命名文件/夹,这样的操作在日常办公 ...

  8. python复制文件到另一个文件夹并重命名_基于python实现复制文件并重命名

    方法: shutil.copy("c://ccc//模板.xlsx","c://ccc//新文件.xlsx") 需求: 已知的Excel模板格式.已知的文件命名 ...

  9. vue下载文件并重命名

    vue的项目,需要做一个文件上传下载的功能.上传是OK的,然鹅因为上传到minio的时候,使用了随机数命名,导致文件名称就变成了一大串字符.被客户驳回来了.那好吧,就加一个重命名功能好了. 不过这个项 ...

最新文章

  1. python将二维列表内容写入和读取.csv文件
  2. Android SDK Tools Setup 提示 “ java se development kit not found”
  3. 深度学习框架PyTorch学习——训练一个分类器
  4. python tcp服务器 多线程_Python中的多线程TCP服务器
  5. Android开发:怎样把Android studio中的Library公布到Jcenter
  6. Qt IFW基本用法
  7. QT的QDebug类的使用
  8. 罗马数字转整数Python解法
  9. 在github上托管Maven存储库(包含源代码和javadoc)
  10. QMap删除其中的保存的元素本身,并删除容器中保存的元素
  11. 在eclipse中安装jadclipse的反编译插件
  12. python 表格格式输出_Python笔记---DAY3:格式化输出、for循环、列表操作
  13. c++ 在函数中传递数组和sizeof用法注意事项
  14. 存储管理工具StorageExplorer的基本使用
  15. SecureCRT 经典配色方案
  16. 增广矩阵and线性方程组----线性代数
  17. 齐齐哈尔2021高考成绩查询,2021齐齐哈尔市地区高考成绩排名查询,齐齐哈尔市高考各高中成绩喜报榜单...
  18. android窗口变化事件,android ViewPager滑动事件讲解
  19. 什么叫做风险纳税人?如何解除风险
  20. 综述 | 结肠细胞代谢如何塑造肠道菌群

热门文章

  1. 人脸识别与膜虹识别_当人脸识别遭遇口罩,虹膜识别的机会来了
  2. 单片机流星灯_51单片机拖尾灯实现
  3. python object的实例是什么_Python-向现有对象实例添加方法
  4. JAVA数据库访问设置的实验_实验十一 连接数据库实验(V2.0)
  5. curl封装php,PHP封装curl的简单方法
  6. mysql mtq_MySQL基础知识 - osc_r3mtqivi的个人空间 - OSCHINA - 中文开源技术交流社区
  7. Python内置函数大全
  8. Python学习基础必备知识点:字典dict详解
  9. Python教程:hashlib加密
  10. python定时任务:apscheduler的使用(还有一个celery~)