Php7实现文件下载,PHP7 SFTP下载文件并重命名该下载文件
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下载文件并重命名该下载文件相关推荐
- python查找文件并重命名_python复制文件并重命名
标签:多个 file 请求 重命名 XML 基本 path main 复制文件 def copy_files(path,newpath): #定义函数名称 old_na ...
- linux中如何复制文件并重命名_linux 下文件重命名/移动/复制命令(转)
linux下重命名文件:使用mv命令就可以了, 例:要把名为:abc 重命名为:123 可以这样操作: 重命名:MV命令 1.进入你的文件目录,运行命令: /cd dir (dir指的是你 ...
- php下载文件并重命名,通过php下载文件并重命名
通过php下载文件并重命名 $filename = dirname(__FILE__) . '/oldfilename.jpg'; $out_filename = 'newfilename.jpg'; ...
- scp 保留文件属组_scp 对拷文件夹 和 文件夹下的所有文件 对拷文件并重命名
对拷文件夹 (包括文件夹本身) scp -r /home/wwwroot/www/charts/util root@192.168.1.65:/home/wwwroot/limesurvey_ba ...
- 批量用title的内容命名html文件,使用批处理批量复制文件并重命名
使用批处理copy批量复制指定目录下(包括子目录)的老师,能否使用copy命令帮忙写个批处理实现以下功能: 复制指定目录下(包@echo off & title 备份文件 By 依梦琴瑶 :: ...
- 复制指定目录后缀文件并重命名
复制指定目录后缀文件并重命名 背景: 最近有一个套网络课程,需要听的mp3是按照日期做文件夹,存放到阿里云难找并且会乱序.打算find+cp把文MP3文件都找出来,并按照序号+文件夹名+文件名顺序命名 ...
- python移动文件的函数_移动并重命名2000个文件,用Python,只需3秒
原标题:移动并重命名2000个文件,用Python,只需3秒 作者:陈熹.刘早起 来源:早起Python 今天介绍的案例是如何利用Python来 自动化移动.修改.重命名文件/夹,这样的操作在日常办公 ...
- python复制文件到另一个文件夹并重命名_基于python实现复制文件并重命名
方法: shutil.copy("c://ccc//模板.xlsx","c://ccc//新文件.xlsx") 需求: 已知的Excel模板格式.已知的文件命名 ...
- vue下载文件并重命名
vue的项目,需要做一个文件上传下载的功能.上传是OK的,然鹅因为上传到minio的时候,使用了随机数命名,导致文件名称就变成了一大串字符.被客户驳回来了.那好吧,就加一个重命名功能好了. 不过这个项 ...
最新文章
- python将二维列表内容写入和读取.csv文件
- Android SDK Tools Setup 提示 “ java se development kit not found”
- 深度学习框架PyTorch学习——训练一个分类器
- python tcp服务器 多线程_Python中的多线程TCP服务器
- Android开发:怎样把Android studio中的Library公布到Jcenter
- Qt IFW基本用法
- QT的QDebug类的使用
- 罗马数字转整数Python解法
- 在github上托管Maven存储库(包含源代码和javadoc)
- QMap删除其中的保存的元素本身,并删除容器中保存的元素
- 在eclipse中安装jadclipse的反编译插件
- python 表格格式输出_Python笔记---DAY3:格式化输出、for循环、列表操作
- c++ 在函数中传递数组和sizeof用法注意事项
- 存储管理工具StorageExplorer的基本使用
- SecureCRT 经典配色方案
- 增广矩阵and线性方程组----线性代数
- 齐齐哈尔2021高考成绩查询,2021齐齐哈尔市地区高考成绩排名查询,齐齐哈尔市高考各高中成绩喜报榜单...
- android窗口变化事件,android ViewPager滑动事件讲解
- 什么叫做风险纳税人?如何解除风险
- 综述 | 结肠细胞代谢如何塑造肠道菌群
热门文章
- 人脸识别与膜虹识别_当人脸识别遭遇口罩,虹膜识别的机会来了
- 单片机流星灯_51单片机拖尾灯实现
- python object的实例是什么_Python-向现有对象实例添加方法
- JAVA数据库访问设置的实验_实验十一 连接数据库实验(V2.0)
- curl封装php,PHP封装curl的简单方法
- mysql mtq_MySQL基础知识 - osc_r3mtqivi的个人空间 - OSCHINA - 中文开源技术交流社区
- Python内置函数大全
- Python学习基础必备知识点:字典dict详解
- Python教程:hashlib加密
- python定时任务:apscheduler的使用(还有一个celery~)