我已经在PHP中构建了一个FTP类,该类具有从FTP服务器下载文件的功能。
这是到目前为止的功能
public function downloadData($serverFile, $localPath)
{
$fileName = basename($serverFile);
$file = $localPath.$fileName;
$download = false;
if(!file_exists($file))
{
// try to download $server_file and save to $local_file
if(ftp_get($this->connection_id, $file, $serverFile, FTP_BINARY)) {
$download = true;
}
}
return $download;
}
基本上可以正常工作,但是在保存数据时,文件的“上次更改日期”设置为当前日期/时间。我想以某种方式避免这种情况,因为原始日期对我的需求很重要。
有没有办法保留文件的原始修改日期?
答案 0 :(得分:1)
听起来您相信有一些东西会覆盖时间戳。没有。在FTP下载过程中根本不会传输时间戳。因此,本地文件的最后修改时间与传输时间匹配(=本地文件的最后修改时间)。
但是您当然可以在下载完成后显式设置时间戳。
touch($file, ftp_mdtm($this->connection_id, $serverFile));
答案 1 :(得分:-2)
修改文件时,无法停止系统更新修改日期。但是,这很大程度上取决于您为什么需要创建日期?
不幸的是,如果您在Linux / Unix上运行,则无法访问创建日期信息,因为仅存储了上次修改的日期。但是,对于Windows,您可以使用filectime,它将返回创建时间