鍍金池/ 問(wèn)答/PHP/ php 連接sftp服務(wù)器下載文件夾所有文件

php 連接sftp服務(wù)器下載文件夾所有文件

請(qǐng)問(wèn),php如何連接sftp服務(wù)器下載文件夾的所有文件,我只看到php提供下載單個(gè)文件的函數(shù),或者如何遍歷sftp服務(wù)器下得文件夾的目錄呢?

回答
編輯回答
貓館

根據(jù)你的問(wèn)題描述,你似乎想要通過(guò)php對(duì)文件夾進(jìn)行掃描,然后對(duì)文件夾內(nèi)的逐個(gè)文件進(jìn)行下載操作,

//思路是使用以下兩個(gè)php函數(shù)
//掃描當(dāng)前文件夾
scandir
//判斷是否為文件夾
is_dir

我的實(shí)現(xiàn)代碼

function do_search($path,$result){
        $dir = scandir($path);
        foreach ($dir as $key => $value) {
                if ($value!='.'&&$value!='..') {
                        //is dir
                        if (is_dir($path.'/'.$value)) {
                                $folder_info['folder'][]=$path.$value.'/';
                                $result = do_search($path.$value.'/',$result);
                        }
                        //not dir
                        else{
                                array_push($result,$path.$value);
                        }
                }
        }
        //$folder_info是記錄所有“文件夾”名稱的數(shù)組
        //return $folder_info;
        //$result是記錄所有“文件”名稱的數(shù)組
        return $result;
}

//結(jié)果數(shù)組是$result
$result =array();

//$path你在linux的路徑,比如/var/www/html/
$all_file_info = do_search($path,$result);
//然后對(duì)$all_file_info這個(gè)變量進(jìn)行下載操作,或者在函數(shù)do_search里面判斷為not dir時(shí)進(jìn)行操作
2018年9月12日 08:11