Başka bir çözüm ama ftp_mdtm()
FTP fonksiyonları kullanarak dosya değiştirilme tarihi / saati almak için var mı?
Bir FTP liste çıkış biçimi bilgisayar ayrıştırma için standardize, bu nedenle mümkün olan tüm FTP sunucularını desteklemek istiyorsanız, kendi çözümleyici ile gelip gerek değildi.
Ama en kolay yolu ile başlayalım: PHP bir FTP wrapper destekler. PHP 5.1 beri filemtime()
to fetch the modification file of a remote file by using ftp://user:password@host/path/file
argüman olarak kullanabilirsiniz.
Ayrıca curl_getinfo()
a> PHP cURL uzantısı kullanmayı deneyebilirsiniz.
FTP sunucusu, AIX, VMS, EBCDIC ya da diğer bazı "egzotik" bir yapıya sahip olduğundan bu işe yaramazsa, el listeleme dizin ayrıştırmak.
Her şeyden önce, çok şanslı iseniz, FTP sunucusu desteklediği MLST
veya MLSD
komutu. Kullanarak bunları çıkarabilir ftp_raw()
in PHP. The output is explained in RFC 3659. Tarih kolayca ayrıştırılır ve UTC döndürülür.
Daha az şanslı iseniz, miras ftp_rawlist()
. There is no standard on how the output looks like, so you need heuristics. FileZilla is very good at handling legacy FTP servers. If you really need a parser and have some time, simply port FileZilla's directory listing parser PHP tarafından kullanılan LIST
komutu geri düşmek gerekir.
PHP 5.1, sadece kullanmak filemtime()
with a valid ftp://...
a> dosya yolu olabilir.
Örnek:
$user = 'peter';
$password = 'secret123';
$mtime = filemtime("ftp://$user:$password@example.com/some_file.txt");