Probleme beim Auslesen des Dateidatums

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

  • Probleme beim Auslesen des Dateidatums

    Hi zusammen,

    ich bin noch nicht so lange beim PHP-Programmieren und bin bislang immer über trial-and-error weitergekommen. Jetzt hänge ich aber total und habe auch über die Suche nichts passendes gefunden.

    In einem Datenverzeichnis befinden sich pdf-Dateien eines Jahrbuchs eines Sportvereins, das Adressen und Spielansetzungen enthält. Da ändert sich natürlich laufend etwas.
    Ich habe nun eine csv-Datei erstell, die folgende Infos enthält: Seitennummer;Beschreibung;Größe;Dateiname
    Diese Datei lese ich ein und gebe sie in einer Tabelle aus. Den Dateinamen will ich noch verlinken, sollte auch kein Problem darstellen.

    Nun möchte ich aber die csv-Datei nicht ändern, wenn ich eine Datei geändert habe. Dazu steht ja in der Variablen data[3] jeweils der Name des PDF'S. Daraus müsste ich doch mit filemtime das Datum auslesen können.
    So, wie ich es gemacht habe, scheint das aber ins Leere zu laufen. Es wird immer das 1970er Datum gezeigt. Der Pfad stimmt allerdings.
    Warum bekomme ich das Datum nicht raus? Jelänger ich drüberschaue, desto weniger finde ich noch Ansätze.
    Das alles spielt sich übrigens im geschützten (.htpsswd) Bereich ab. Hat das damit zu tun?

    PHP-Code:
    $load=file('daten/jahrbuch/overview.csv');
    $show="<table width=80% border=0 cellspacing=0 cellpadding=0>";
    $show.="<tr><td><div align=center><b>Seite</b></div></td><td><b>Beschreibung</b></td>
    <td><div align=center><b>Stand</b></div></td>
    <td><div align=center><b>Größe</b></div></td><td><div align=center><b>Link</b></div></td></tr>"
    ;
    for(
    $i=0;$i<=count($load)-1;$i++)
    {
        
    $data=explode(';',$load[$i]);
            
    $datei="/daten/jahrbuch/$data[3]";
            
    $lastupdate filemtime($datei);
        
    $show.="<tr>
            <td><font size=2><div align=center>"
    .$data[0]."</div></td>
            <td><font size=2><div align=left>"
    .$data[1]."</div></td>
            <td><font size=2><div align=center>"
            
    .date("d.m.Y H:i:s",$flastupdate)."</div></td>
            <td><font size=2><div align=center>"
    .$data[2]."kb</div></td>
            <td><font size=2><div align=center>
            <img src='daten/jahrbuch/pdf_icon.gif'></div></td>
            </tr>"
    ;
    }
    echo 
    $show;
    echo 
    "</table>"
    Ich weiss, dass man das alles eleganter programmieren kann, aber ich bin ganz glücklich, dass es bis auf das genannte Problem überhaupt läuft. Und für meinen Zweck muss es auch nicht ausgefeilter sein. Daher wäre ich froh, wenn irgendjemand das Problem findet und mich drauf stösst.

    Hoffend,

    Markus

  • #2
    Hallo,

    guck nochmal genau:

    $lastupdate != $flastupdate

    Gruss
    Quetschi
    Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
    Schön - etwas Geschichte kann ja nicht schaden.
    Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

    Kommentar


    • #3
      $flastupdate

      Kommentar


      • #4
        Sorry, falsch geklickt...
        Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
        Schön - etwas Geschichte kann ja nicht schaden.
        Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

        Kommentar


        • #5
          sorry, habe ich nur im kopierten teil nicht behoben. ist mir beim reinkopieren auch aufgefallen und ich hab's im quelltext korrigiert. problem bleibt absolut gleich.

          das war's also nicht.

          Kommentar


          • #6
            dann zeig mal, was in $lastupdate drin ist.
            vermutlich eine null.
            mach mal daher vorher ne überprüfung mit file_exists()

            Kommentar


            • #7
              Dann poste doch deinen AKTUELLEN Code ohne irgendwelche Änderungen. Scheint zur Zeit Mode zu sein ein Problem zu einem bestimmten Code präsentiert haben zu wollen aber dem Forum hier nen anderen Code vorzulegen.

              Die Glaskugeln der Forumsmitglieder sind leider aufgrund einer Rückrufaktion des Herstellers alle in der Werkstatt, somit können wir momentan nur helfen wenn uns Originalcode vorgelegt wird.
              Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
              Schön - etwas Geschichte kann ja nicht schaden.
              Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

              Kommentar


              • #8
                Die Ausgabe ist "01.01.1970 01:00:00".
                Ich habe bereits hier irgendwo gefunden, dass das daraufhindeutet, dass die Variable irgendwei leer ist.
                Aber ich kann nicht erkennen, warum das bei mir der Fall sein sollte.

                Hm?

                Kommentar


                • #9
                  Original geschrieben von Quetschi
                  Dann poste doch deinen AKTUELLEN Code ohne irgendwelche Änderungen. Scheint zur Zeit Mode zu sein ein Problem zu einem bestimmten Code präsentiert haben zu wollen aber dem Forum hier nen anderen Code vorzulegen.

                  Die Glaskugeln der Forumsmitglieder sind leider aufgrund einer Rückrufaktion des Herstellers alle in der Werkstatt, somit können wir momentan nur helfen wenn uns Originalcode vorgelegt wird.
                  Hä? Das ist der Originalcode. Original den versuche ich aktuell in meiner Seite ans Laufen zu bekommen. Ich hatte lediglich den Schreibfehler korrigiert, sonst nichts.

                  Kommentar


                  • #10
                    beachte, keiner hat nach der ausgabe gefragt.
                    nimm am besten var_dump()

                    Kommentar


                    • #11
                      Das ist aber die mit date() formatierte Ausgabe, oder? Gib $lastupdate mal direkt aus, was kommt da?

                      EDIT:
                      Hab schon gesehen, dass das der einzige Fehler zum Originalcode war, sorry
                      Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                      Schön - etwas Geschichte kann ja nicht schaden.
                      Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                      Kommentar


                      • #12
                        Scheint, als kommen wir der Sache schon näher.
                        Wenn ich mit file_exists checke, ist die datei nicht da, von der er das Datum ausgeben soll.
                        Und in $lastupdate ist tatsächlich nichts drin.

                        Daher hier mal die Original "overview.csv":

                        01 - 03;Hinweise;20;01-03.pdf
                        04;Rahmenterminplan;9;04.pdf
                        05 - 06;wichtige Adressen;35;05-06.pdf
                        07 - 08;Spielplan Herren;13;07-08.pdf
                        09 - 10;Spielplan Nachwuchs;12;09-10.pdf
                        usw.

                        Ist an der Angabe des Dateinamens etwas problematisch?

                        Wenn ich mir $datei ausgeben lasse, steht der korrekte Dateinamen drin.

                        Kommentar


                        • #13
                          Original geschrieben von Helpseeker
                          Wenn ich mir $datei ausgeben lasse, steht der korrekte Dateinamen drin.
                          Der korrekte Name einer nicht vorhandenen Datei?

                          Ich denke mal, dass dein / am Anfang das Problem verursacht, da du damit nicht in deinem eigenen Verzeichnis suchst, sondern direkt auf alleroberster Ebene mit der Suche anfängst.

                          Schau dir mal $_SERVER['DOCUMENT_ROOT'] an und baue das geschickt ein.

                          Wo liegt die Datei denn relativ zu deiner Internetstartsteite?
                          Ich denke, also bin ich. - Einige sind trotzdem...

                          Kommentar


                          • #14
                            PHP-Code:
                            $datei="/daten/jahrbuch/$data[3]"
                            könnt es sein, dass hier der Fehler liegt? Lass mal den Schrägstrich am Anfang weg:
                            PHP-Code:
                            $datei="daten/jahrbuch/$data[3]"
                            EDIT:
                            Och happi...
                            Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                            Schön - etwas Geschichte kann ja nicht schaden.
                            Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                            Kommentar


                            • #15
                              OffTopic:
                              ällabätsch
                              Ich denke, also bin ich. - Einige sind trotzdem...

                              Kommentar

                              Lädt...
                              X