2

サーバー上のファイルのグループの変更時刻を取得する必要があります。ローカル コンピューターでこれを取得する方法は知っていますが、File.mtimeFTP 経由では機能しません。このコードをサーバー上で動作するように変換するにはどうすればよいですか?

files_sorted_by_time = Dir['*'].select { |f| 
  ((Time.now - File.mtime(f)).to_i / 604800) < 7 
}
4

1 に答える 1

5

Net::FTP#mtimeが必要です。

ドキュメントの例:

Net::FTP.open('ftp.netlab.co.jp') do |ftp|
  ftp.login
  files = ftp.chdir('pub/lang/ruby/contrib')
  files = ftp.list('n*')
  ftp.getbinaryfile('nif.rb-0.91.gz', 'nif.gz', 1024)
  ftp.mtime('file.pdf')
end

#mtimewithを使用し#nlstて、リモート ファイルのリストをフィルタリングできます。

Net::FTP.open('ftp.netlab.co.jp') do |ftp|
  ftp.login
  ftp.nlst do |file|
    if ftp.mtime(file) # ...
  end
end
于 2013-08-02T16:11:47.910 に答える