国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP連接sftp并下載文件的方法教程

2024-05-05 00:05:09
字體:
來源:轉載
供稿:網友

前言

sFTP(安全文件傳輸程序)是一種安全的交互式文件傳輸程序,其工作方式與 FTP(文件傳輸協議)類似。 然而,sFTP 比 FTP 更安全;它通過加密 SSH 傳輸處理所有操作。

下面這篇文章主要介紹了關于PHP連接sftp并下載文件的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧

方法如下:

首先我們要知道如何在命令行下連接,了解了之后就清楚大概的原理了

命令行連接的方式如下

sftp -P port user@host

如果端口號默認是22的話就不需要端口號的參數,如下

sftp user@host

連接進去之后sftp支持大多數的linux命令,如ls、cd等,但是注意并不是所有的命令都支持,畢竟這是個文件傳輸的功能,沒有太多復雜的命令

上面了解之后我們看下PHP中如何鏈接

連接sftp

$conf = [ 'channelId' => '', 'host' => '', 'port' => '', 'user' => '', 'password' => ''];$conn = ssh2_connect($conf['host'], $conf['port']);if (!ssh2_auth_password($conn, $conf['user'], $conf['password'])) { var_dump('ftps 連接失敗');}

獲取遠程文件

第一步沒有問題,說明我們已經進去了sftp里面,然后就可以進行文件下載

設置要獲取的遠程文件

$remotFile = '/file/xxx/xxx/xxx.txt';

配置本地存儲文件的路徑

$localPath = '/storage/data';// 創建文件夾if (!is_dir($localPath)) { $dir = mkdir($localPath, 0777, true); if (!$dir) {  return false; }}

設置本地要存儲的文件

// 如果文件已存在就覆蓋$localFile = 'xxxxx.txt';$localRealFile = $localPath . '/' . $localFile;// 如果文件存在則刪除,當然這里也可以根據需求進行修改if (is_file($localRealFile)) { unlink($localRealFile);}

最后拉取文件并寫到本地

$sftp = ssh2_sftp($conn);$resource = "ssh2.sftp://{$sftp}" . $remotFile;//遠程文件 拷貝到本地copy($resource, $localRealFile);

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 白朗县| 南丹县| 渝中区| 凯里市| 麻阳| 岐山县| 玉屏| 安仁县| 密云县| 略阳县| 绍兴市| 平利县| 宿松县| 姚安县| 岳普湖县| 德化县| 宁津县| 恩施市| 西丰县| 二连浩特市| 乐平市| 安达市| 图片| 石台县| 保山市| 青田县| 灌南县| 隆回县| 兰州市| 南木林县| 洪雅县| 深水埗区| 农安县| 陆丰市| 兴义市| 望城县| 唐海县| 高邮市| 莱州市| 常熟市| 潼关县|