首页 > 代码库 > php使用sftp上传文件
php使用sftp上传文件
搞这个SFTP文件传输搞了一整天真是醉了,从sftp安装,到php的ssh2扩展安装,最后到php应用ssh2来上传文件;最后就没有最后了
Failure creating remote file: (null) 一直报这个错误!网上能搜的基本找了个遍都不起作用,一开始以为laravel框架问题,后来写成原生php脚本也是这个错误,Fine!很好真的没辙了;
解决方法:
使用 league/flysystem-sftp 这个而插件来运行SFTP文件传输,在composer下载依赖使用;使用方法也很简单
use League\Flysystem\Sftp\SftpAdapter; use League\Flysystem\Filesystem; $adapter = new SftpAdapter([ ‘host‘ => ‘example.com‘, ‘port‘ => 22, ‘username‘ => ‘username‘, ‘password‘ => ‘password‘, ‘privateKey‘ => ‘path/to/or/contents/of/privatekey‘, ‘root‘ => ‘/path/to/root‘, ‘timeout‘ => 10, ‘directoryPerm‘ => 0755 ]); $filesystem = new Filesystem($adapter);
//获取到对象之后
1. $filesystem->put(‘远程文件路径‘,‘内容‘);
2. $filesystem->putstream(‘远程文件路径‘,‘文件句柄‘);//通过fopen获取句柄
个人备忘:
linux/ubuntu系统中安装了ssh会自带sftp,如果没有配置的话会一直连接不上远程
php使用sftp上传文件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。