通过SFTP php获取*.csv文件
我正在尝试从SFTP remote/folder下载特定名称的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');
- 123-2015-11-03.csv
- 456-2015-11-03.csv
- 789-2015-11-03.csv
- 。。。很多csv文件
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。请阅读。