php读取FTP服务器csv档

最近要写读取FTP服务器上的csv档,记录下:

第一种方法: 使用ftp系列函数将FTP服务器的文件下载到本地,再打开读取内容

$ftp_server = "192.168.1.14";
$ftp_user_name = "ftp_username";
$ftp_user_pass = "ftp_password";
$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

$local_file = './local.csv';
$remote_file='path/to/file.csv';
$handle = fopen($local_file, 'w+');
//将远程文件下载到本地
ftp_fget($conn_id, $handle, $remote_file, FTP_ASCII, 0);
fclose($handle);
ftp_close($conn_id);

$handle = fopen($local_file, 'r');
$data = fgetcsv($handle);
while (($data = fgetcsv($handle)) !== FALSE) {
    if (!isset($data[0]) || $data[0] == '') break;
    ...
}
fclose($handle);

 第二种方法:使用fopen函数读取FTP服务器的文件,直接读取,不用下载,完胜第一种方法

$file = "ftp://ftp_username:ftp_password@192.168.1.14/path/to/file.csv";
$handle = fopen($file, "r");
$data = fgetcsv($handle);
while (($data = fgetcsv($handle)) !== FALSE) {
    if (!isset($data[0]) || $data[0] == '') break;
    ...
}
fclose($handle);

 

posted @ 2022-11-24 17:15  carol2014  阅读(171)  评论(0编辑  收藏  举报