通过SFTP php获取*.csv文件

通过SFTP php获取*.csv文件,php,csv,sftp,phpseclib,Php,Csv,Sftp,Phpseclib,我正在尝试从SFTP remote/folder下载特定名称的csv文件/ 123-2015-11-03.csv 456-2015-11-03.csv 789-2015-11-03.csv 。。。很多csv文件 以下是php代码: include('Net/SFTP.php'); $local_directory = 'D:/'; $remote_directory = '/remote/folder/'; $sftp = new Net_SFTP('xxx.xxx.xxx.xxx');

我正在尝试从SFTP remote/folder下载特定名称的csv文件/

  • 123-2015-11-03.csv
  • 456-2015-11-03.csv
  • 789-2015-11-03.csv
  • 。。。很多csv文件
以下是php代码:

include('Net/SFTP.php');

$local_directory = 'D:/';
$remote_directory = '/remote/folder/';

$sftp = new Net_SFTP('xxx.xxx.xxx.xxx');
if (!$sftp->login('123', '123')) {
    exit('Login Failed');
} 

$files_to_upload = array(glob( '*2015-11-03.csv') ) ;

if ($handle = opendir($local_directory)) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != "..") {
            $files_to_upload[] = $file;
        }
    }
    closedir($handle);
}
if(!empty($files_to_upload)) {
    foreach($files_to_upload as $file) {
        $success = $sftp->get($remote_directory . $file,$local_directory . $file,  NET_SFTP_LOCAL_FILE);  
    }
} 

似乎要从SMTP服务器下载所有csv文件(以“2015-11-03”结尾)。您可以使用以下代码

include('Net/SFTP.php');

$sftp = new Net_SFTP('ip:port');

if (!$sftp->login('username', 'password')) {
    exit('Login Failed');
}    
$fileList = $sftp->nlist('remote_folder', FALSE);  

foreach ($fileList as $file) {
    //check if its a file or not
    if ($sftp->is_file('remote_folder/'. $file)) {
        //check filename ends with 2015-11-03.csv
        if ((substr($file, -14)) == "2015-11-03.csv"){
            $sftp->get('remote_folder/'. $file, $file);
            echo $file. " downloading finished. <br />";
        }            
    }
}
include('Net/SFTP.php');
$sftp=新的净sftp(“ip:端口”);
如果(!$sftp->登录('username','password')){
退出(“登录失败”);
}    
$fileList=$sftp->nlist('remote_folder',FALSE);
foreach($fileList作为$file){
//检查它是否是一个文件
如果($sftp->is_file('remote_folder/'.$file)){
//检查文件名以2015-11-03.csv结尾
如果((substr($file,-14))=“2015-11-03.csv”){
$sftp->get('remote_folder/'。$file,$file);
echo$文件。“下载完成。
”; } } }

您可以在中找到更多信息。

但它不起作用!欢迎来到StackOverflow。请阅读。