Teil von  SELFPHP   Teil von  Code Snippets / PHP / Dateisystem
  +++ SELFPHP CronJob-Service :: Jetzt auch als Professional-Version verfügbar! +++



:: 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!

Vorname: 
Name:
E-Mail:
 
 

:: 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 ) - != '\\' || strlen$dir ) - != '/' )
        
$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$formatfilemtime$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
)






 




:: Premium-Partner ::

Webhosting/Serverlösungen


Premium-Partner MECO Systemhaus GmbH & Co. KG
Premium-Partner PSW GROUP GmbH & Co. KG
Premium-Partner BPI-Systeme
Premium-Partner Pixel X
Premium-Partner
 

:: SELFPHP Sponsoren ::


Microsoft Deutschland GmbH
twosteps.net - ...Premium-Webhosting
Sedo - Bei uns wird PHP großgeschrieben
hostfactory.ch - OptimaNet Schweiz AG
ZEND - The PHP Company
Kaspersky Labs
HighText iBusiness
SELFPHP Sponsoren
 

Qozido


© 2001-2009 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt