2017-12-16 7 views
-1

Ich habe einen FTP-Server und mein Betreiber Update es manuell über FTP-Seite und ich weiß nicht genau wann er es macht.Dateien und Ordner zuletzt in PHP rekursiv gefunden

Ich möchte ein Skript schreiben, um festzustellen, welcher Ordner geändert wurde und den Pfad des neuen Ordners, der erstellt oder geändert wurde, zurückgibt.

Ich sollte sagen, dass er normalerweise einen neuen Ordner in einem Pfad erstellt oder löscht sie.

Jetzt durch ftp_nlist Ich lese rekursiv alle Dateien und Ordner und dann den Pfad in der Datenbank überprüfen, wenn es neu ist, ich speichere es oder lösche diese Zeile aus der Datenbank.

Bitte teilen Sie Ihre Idee und Code für die besten Optimierungen.

+1

Sie sind scheint auf dem richtigen Weg. Denken Sie nur über die Verwendung des letzten Änderungsdatums in Ihrem Prozess nach. –

+1

Willkommen bei SO. Hast du einen Code, um uns zu zeigen? Bitte lesen Sie [So erstellen Sie ein minimales, vollständiges und überprüfbares Beispiel] (https://stackoverflow.com/help/mcve) – Michel

Antwort

0

Sie können die zuletzt geänderte Uhrzeit von Ordnern und Dateien anhand des Bash-Skripts find überprüfen. Hier sind einige PHP-Beispiele:

exec('find . -mtime -1 -type d', $output); 
// $output: list of folders modified within 24 hours 
unset($output); 

exec('find . -mtime -1 -type f', $output); 
// $output: list of files modified within 24 hours 
unset($output); 

exec('find . -mtime +0 -type f', $output); 
// $output: list of files modified greater than 24 hours 
unset($output); 

Sie sollten diese Optionen prüfen -amin, -atime, -cmin, -ctime, -mmin und -mtime auch.

-amin n 
      File was last accessed n minutes ago. 

    -atime n 
      File was last accessed n*24 hours ago. When find figures out 
      how many 24-hour periods ago the file was last accessed, any 
      fractional part is ignored, so to match -atime +1, a file has 
      to have been accessed at least two days ago. 

    -cmin n 
      File's status was last changed n minutes ago. 

    -ctime n 
      File's status was last changed n*24 hours ago. See the 
      comments for -atime to understand how rounding affects the 
      interpretation of file status change times. 

    -mmin n 
      File's data was last modified n minutes ago. 

    -mtime n 
      File's data was last modified n*24 hours ago. See the 
      comments for -atime to understand how rounding affects the 
      interpretation of file modification times. 
Verwandte Themen