ftp_mdtm()
(PHP 4, PHP 5, PHP 7)
返回指定文件的最后修改时间
说明
ftp_mdtm(resource $ftp_stream,string $remote_file): int
ftp_mdtm()检查指定文件的最后修改时间,并以 UNIX 时间戳的方式返回。如果发生错误,或文件不存在则返回-1。
ftp_mdtm()例子
<?php $file = 'somefile.txt'; // connect to the server $conn_id = ftp_connect($ftp_server); $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); // get the last modified time $buff = ftp_mdtm($conn_id, $file); if ($buff != -1) { // somefile.txt was last modified on: March 26 2003 14:16:41. echo "$file was last modified on : " . date ("F d Y H:i:s.", $buff); } else { echo "Couldn't get mdtime"; } // close the connection ftp_close($conn_id); ?>
如果成功返回一个 UNIX 时间戳,否则返回-1。
Note:某些 FTP 服务器可能会不支持这个特性。
Note:ftp_mdtm()函数不适用于检查目录。
Wrapped the above in a function, for easy use: function getMtime($filename, $server, $login, $pwd){ // set up connection $conn_id = ftp_connect($server) or die("ERROR:Could not connect to $server"); // login $login_result = ftp_login($conn_id, $login, $pwd); // get the last modified time for our file $buff = ftp_mdtm($conn_id, $filename); // close the connection ftp_close($conn_id); if ($buff != -1) { // somefile.txt was last modified on: March 26 2003 14:16:41. return "$filename was last modified on : " . date("F d Y H:i:s.", $buff); } else { return "ERROR: Could not retrieve mdtime"; } } $filename='example.csv'; $server='ftp.example.nl'; $login='supersecureloginhere'; $pwd='supersecurepwd'; $mtime=getMtime($filename, $server, $login, $pwd); echo $mtime;
Seems to work with directories as well on my Win32 box.
When trying to get the modified time of a file that has spaces in it, ftp_mdtm will fail on some FTP servers. If this happens, surround the file name with quotes. $file_name = "my index"; $file_modtime = ftp_mdtm($connection, '"'.$file_name.'"')