将多个 .xml 文件上传到 ftp 服务器

upload multiple .xml files to a ftp server

我需要将多个 .XML 格式文件从本地文件夹上传到 ftp 服务器,同时根据上传日期和序列号更改文件名。

示例:

尝试使用 glob select 本地文件夹中的所有 .XML 文件。 我试图用其中的 .XML 文件循环本地文件夹。

连接并登录到 ftp 服务器正常,上传单个 .XML 文件而不更改名称也成功。

But i need help with multiple .XML files and have no idea how i am going to change the name of the files before uploading to the ftp server.

// connection info
$usr = 'ftp_usrname';
$pwd = 'ftp_password';
$ftp_server = "ftp_server";
$ftp_conn = ftp_connect($ftp_server) or die("Could not connect to $ftp_server");
$login = ftp_login($ftp_conn, $usr, $pwd);  
ftp_pasv($ftp_conn, true) or die("Cannot switch to passive mode");  

foreach (glob("xml/*.xml") as $filename) {      // local files folder
    $ftp_path = 'test1/';                       // ftp folder to save the files
    ftp_put($ftp_conn,$ftp_path , $filename, FTP_BINARY);
}     

// close connection
ftp_close($ftp_conn);

我要本地文件夹的所有文件,上传到ftp服务器,名称根据上传日期更改,有序列号

假设您上传单个文件的代码有效,要更改文件名,您可以这样做:

$counter = 1;
foreach (glob("xml/*.xml") as $filename) {      // local files folder
    $ftp_path = 'test1/';                       // ftp folder to save the files

    $serial = str_pad($counter, 8, "0", STR_PAD_LEFT);
    $new_file_name = date("Ymd") . "-{$serial}-{$counter}.xml";
    ftp_put($ftp_conn, $ftp_path . $new_file_name, $filename, FTP_BINARY);

    $counter++;
}