如果使用ftp_put上载到远程服务器,则保留文件修改的时间戳记

问题描述 投票:0回答:1

我有一个php脚本,可将文件从一个文件夹上载到远程ftp服务器。将文件上传到远程服务器可以正常工作。连接很好。

但是,上载文件的文件修改时间戳始终是将其传输到远程服务器的时间。当我使用ftp_put上传到远程服务器时,有什么方法可以保留修改的时间?还是我需要其他方法?

下面是代码。连接很好,并且ftp_put完成了它的工作。

foreach (glob("$path/Content/*.*") as $filename) {
    $contentupstate = ftp_put($connection, "Content/". basename($filename) , $filename, FTP_BINARY); 
};

只是想检查这是否可行,或者我们是否必须在远程服务器上执行某些操作。感谢您的帮助。

php ftp put
1个回答
0
投票

我认为有两种可能,如果FTP服务器支持它们(未经测试)。首先以正确的格式获取修改时间:

$time = date('YmdGis', file_mtime($filename));

PUT之前:

$stat = ftp_raw($connection, "MDTM $time Content/". basename($filename);

或在PUT之后:

$stat = ftp_raw($connection, "SITE UTIME $time $time $time Content/". basename($filename);
© www.soinside.com 2019 - 2024. All rights reserved.