【发布时间】:2020-11-19 00:59:50
【问题描述】:
我正在尝试从 FTP 获取文件,其最后修改日期为今天。如果我知道文件名,这将非常有效。
在我的 FTP 服务器中,文件名是动态的。我只知道 .csv 的文件扩展名,并且有一个包含许多其他不同文件的 CSV 文件。
如何仅获取以最后修改日期为当前日期的 .csv 文件?一旦我得到它,我将从 FTP 下载该文件。
这是我尝试过的,只有在我知道文件名的情况下才能正常工作。
// connect and login to FTP server
$ftp_server = "ftp server details";
$ftp_username = 'ftp user';
$ftp_userpass = 'ftp pass';
$ftp_conn = ftp_connect($ftp_server) or die("Could not connect to $ftp_server");
$login = ftp_login($ftp_conn, $ftp_username, $ftp_userpass);
//hard coded file name. I want to get only .csv file (It is just one file)
$file = "/MYDATA/2020_10_27_15_00.csv";
date_default_timezone_set('Asia/Kolkata');
$currenttime = date( 'F d Y', strtotime( 'now' ) );
$lastchanged = ftp_mdtm($ftp_conn, $file);
if ($lastchanged != -1)
{
$lastmodifieddate = date("F d Y", $lastchanged);
if (strcmp($currenttime, $lastmodifieddate) == 0)
{
echo "$file was last modified on : " . date("F d Y", $lastchanged);
//download the file
}
else
{
echo "No file for current date";
//nothing to download
}
}
else
{
echo "Could not get last modified";
}
// close connection
ftp_close($ftp_conn);
?>
如何仅获取.csv 扩展名的文件名,最后修改日期为当前日期,并从 FTP 下载文件?
谢谢!
【问题讨论】: