:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte
Unternehmen im
Anbieterverzeichnis von SELFPHP
:: SELFPHP Forum ::
Fragen rund um die Themen PHP? In über
120.000 Beiträgen finden Sie sicher die passende
Antwort!
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
:: Qozido ::
Die Bilderverwaltung mit Logbuch für
Taucher und Schnorchler.
|
|
Datei in einem Verzeichnis mit der jüngsten oder ältesten Änderung ermitteln |
Beispielaufgabe
Ermittelt welche Datei zuletzt oder zuerst geändert wurde.
Beschreibung
Die Funktion lastModification() ermittelt die Datei in einem Verzeichnis, die zuletzt oder als erstes geändert wurde. Als Rückgabewert liefert die Funktion ein Array mit dem Dateinamen, das Verzeichnis und die letzte Änderung als Timestamp und formatiert.
- $todo kann als Wert entweder "old" (Datei mit der ältesten Änderung ) oder "new" (Datei mit der jüngsten Änderung) verarbeiten
- $format kann einen beliebigen String enthalten, der mit date() für ein Datum formatiert werden kann
<?PHP
function lastModification ( $dir, $todo = 'new', $format = 'd.m.Y H:i:s' ) {
if ( is_file ( $dir ) )
return false;
$lastfile = '';
if( strlen( $dir ) - 1 != '\\' || strlen( $dir ) - 1 != '/' )
$dir .= '/';
$handle = @opendir( $dir );
if( !$handle )
return false;
while ( ( $file = readdir( $handle ) ) !== false ) {
if( $file != '.' && $file != '..' && is_file ( $dir.$file ) ) {
if ( $todo == 'old' ) {
if( filemtime( $dir.$file ) <= filemtime( $dir.$lastfile ) ) {
$lastfile = $file;
}
}
else {
if( filemtime( $dir.$file ) >= filemtime( $dir.$lastfile ) ) {
$lastfile = $file;
}
}
if ( empty( $lastfile ) )
$lastfile = $file;
}
}
$fileInfo['dir'] = $dir;
$fileInfo['file'] = $lastfile;
$fileInfo['time'] = filemtime( $dir.$lastfile );
$fileInfo['formattime'] = date( $format, filemtime( $dir.$lastfile ) );
closedir( $handle );
return $fileInfo;
}
?>
|
Anwendungsbeispiel
<?PHP
$directory = 'c:\\temp1';
print_r ( lastModification( $directory ) );
print_r ( lastModification( $directory, 'old' ) );
print_r ( lastModification( $directory, 'new', 'd-m-Y H:i:s') );
?>
|
Ausgabebeispiel: Browseransicht
Array
(
[dir] => c:\temp1/
[file] => fadeout_example.zip
[time] => 1238479221
[formattime] => 31.03.2009 08:00:21
)
Array
(
[dir] => c:\temp1/
[file] => logfile.txt
[time] => 1237383761
[formattime] => 18.03.2009 14:42:41
)
Array
(
[dir] => c:\temp1/
[file] => fadeout_example.zip
[time] => 1238479221
[formattime] => 31-03-2009 08:00:21
) |
|
|
|
|
|
|