Ankündigung

Einklappen
Keine Ankündigung bisher.

Ausgabe - Letzte Änderung auf Website - als Datum+Zeit

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Scriptsuche Ausgabe - Letzte Änderung auf Website - als Datum+Zeit

    Hallo liebe Foren-Gemeinde,

    heute suche ich einen Code-"Schnipsel" der folgendes realisieren soll...
    1. Code-Schnipsel den ich in die index.php unten beim Copyright einfügen kann.
    2. Er soll das Datum "Letzte Änderung" aller Dateien im aktuellen Verzeichnis und ALLEN Unterverzeichnissen überprüfen
    3. Dabei nur Dateien mit den Endungen .php .html .pdf berücksichtigen
    4. dass aktuellste gefundene Datum ermitteln
    5. und im Format 'd.m.Y - H:i:s' ausgeben.
    Bisher nutze ich an der Stelle folgenden Code:

    PHP-Code:
    <?PHP
    echo 'Letzte Änderung: ' date'd.m.Y - H:i:s'getlastmod () );
    ?>
    ...aber dass ruft natürlich nur die Letzte Änderung der 'index.php' ab. Nicht aller PHP/HTML/PDF-Dateien im aktuellen Verzeichnis wie auch in den Unterverzeichnissen.

    Ich würde mich freuen, wenn es jemand hinbekommen würde.

    [Unter Berücksichtigung, dass ich gegen keine Forenregel verstoße, gibt dafür natürlich auch ein TG via PP]


  • #2
    Zitat von XentriX Beitrag anzeigen
    Hallo liebe Foren-Gemeinde,

    ...aber dass ruft natürlich nur die Letzte Änderung der 'index.php' ab. Nicht aller PHP/HTML/PDF-Dateien im aktuellen Verzeichnis wie auch in den Unterverzeichnissen.

    Ich würde mich freuen, wenn es jemand hinbekommen würde.

    [Unter Berücksichtigung, dass ich gegen keine Forenregel verstoße, gibt dafür natürlich auch ein TG via PP]

    ??
    egal, lese mal das :
    https://php-de.github.io/jumpto/verz...uslesen-filter

    Kommentar


    • #3
      Hallo tomBuilder,
      danke für den Link...

      Leider sind meine php-Kenntnisse = null

      Ich verstehe so einfache Sachen wie meinen Code...
      aber dass übersteigt mein Verständnis.

      Ich suche wirklich jemanden, der mir das entsprechende Skript komplett schreibt.

      Danke im voraus.
      M.

      Kommentar


      • #4
        Zitat von XentriX Beitrag anzeigen
        Hallo tomBuilder,
        danke für den Link...

        Leider sind meine php-Kenntnisse = null

        Ich verstehe so einfache Sachen wie meinen Code...
        aber dass übersteigt mein Verständnis.

        Ich suche wirklich jemanden, der mir das entsprechende Skript komplett schreibt.

        Danke im voraus.
        M.
        diese funktion kannst du in eine PHP Datei auslagern und dann auf den Seiten wo du es brauchst mit require_once __DIR__.'/myfunction.php'; einbinden damit die Funktion zur Verfügung steht.

        PHP-Code:
        /**
         * @param $folder Path to root
         * @return int $timestamp|null
         */
        function getLatestFileChangeTime($folder)
        {


            
        $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($folderFilesystemIterator::SKIP_DOTS));
            
        $regexIterator = new RegexIterator($iterator'/^.+\.(php|html|pdf)$/i'RecursiveRegexIterator::GET_MATCH);
            
        $latestFileChange null;
            foreach (
        $regexIterator as $item) {
                
        $changedTimestamp filectime($item[0]);
                if (
        $changedTimestamp >= $latestFileChange) {
                    
        $latestFileChange $changedTimestamp;
                }
            }
            return 
        $latestFileChange;

        __DIR__ ist eine PHP Konstante da drin steht das Verzeichnis wo sich dein PHP Script befindet. und so verwendest du es

        PHP-Code:
        require_once __DIR__.'/path/to/function.php';
        echo 
        'Letzte Änderung: ' date'd.m.Y - H:i:s'getLatestFileChangeTime(__DIR__ '/../path/to/folder') ); 
        Wenn du willst, kannst mir ja ein Bier spendieren via http://paypal.me/BlackScorp
        apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp

        Kommentar


        • #5
          Danke für die mühe...

          aber ich bin zu blond

          Meine test.php:

          HTML-Code:
          <!DOCTYPE html>
          
          <html>
          
              <head>
          
                  <title>Title</title>
          
              </head>
          
          <body>
          
          <?php
          require_once __DIR__.'myfunction.php';
          echo 'Letzte Änderung: ' . date( 'd.m.Y - H:i:s', getLatestFileChangeTime(__DIR__ . '/') );  
          ?>     
          
          </body>
          
          </html>
          Meine myfunction.php:

          HTML-Code:
          <?php
          /**
           * @param $folder Path to root
           * @return int $timestamp|null
           */
          function getLatestFileChangeTime($folder)
          {
          
          
              $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($folder, FilesystemIterator::SKIP_DOTS));
              $regexIterator = new RegexIterator($iterator, '/^.+\.(php|html|pdf)$/i', RecursiveRegexIterator::GET_MATCH);
              $latestFileChange = null;
              foreach ($regexIterator as $item) {
                  $changedTimestamp = filectime($item[0]);
                  if ($changedTimestamp >= $latestFileChange) {
                      $latestFileChange = $changedTimestamp;
                  }
              }
              return $latestFileChange;
          }  
          ?>
          beide liegen mit 5 weiteren .php-dateien im Selben ordner. Unterordner mit weiteren dateien gibt es auch.

          habe die letzte nacht eine freundschaft mit google gefunden :P
          bin dort des öfteren üner diese funktion gestolpter.

          PHP-Code:
          filemtime 
          filemtime soll bei allen pdf/html/php-dateien das Änderungsdatum vergleichen und nur das aktuellste dateum aller dateien ausspucken.

          *brett vorm kopf*

          Kommentar


          • #6
            PHP-Code:
            require_once __DIR__.'myfunction.php'
            du hast hier ein Slash vergessen
            und hier die funktion mit filemtime
            PHP-Code:
              <?php

            /**
             * @param $folder Path to root
             * @return int $timestamp|null
             */
            function getLatestFileChangeTime($folder)
            {
                
            $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($folderFilesystemIterator::SKIP_DOTS));
                
            $regexIterator = new RegexIterator($iterator'/^.+\.(php|html|pdf)$/i'RecursiveRegexIterator::GET_MATCH);
                
            $latestFileChange null;
                foreach (
            $regexIterator as $item) {
                    
            $changedTimestamp filemtime($item[0]);
                    if (
            $changedTimestamp >= $latestFileChange) {
                        
            $latestFileChange $changedTimestamp;
                    }
                }
                return 
            $latestFileChange;
            }
            und bitte in der funktion.php KEIN ?> eintragen sonst wirst du irgendwann hier im forum fragen wieso du eine "cannot modify header" meldung siehst
            apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp

            Kommentar


            • #7
              GELÖST!

              dank euch allen, besonders BlackScorp ...!!!!

              ​​​​​​​...es funktioniert...

              Kommentar

              Lädt...
              X