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.'"')
