我有一个php脚本,可将文件从一个文件夹上载到远程ftp服务器。将文件上传到远程服务器可以正常工作。连接很好。
但是,上载文件的文件修改时间戳始终是将其传输到远程服务器的时间。当我使用ftp_put上传到远程服务器时,有什么方法可以保留修改的时间?还是我需要其他方法?
下面是代码。连接很好,并且ftp_put完成了它的工作。
foreach (glob("$path/Content/*.*") as $filename) {
$contentupstate = ftp_put($connection, "Content/". basename($filename) , $filename, FTP_BINARY);
};
只是想检查这是否可行,或者我们是否必须在远程服务器上执行某些操作。感谢您的帮助。
我认为有两种可能,如果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);