Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Nur bestimmte Dateien anzeigen, wie mache ich das HILFE

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Nur bestimmte Dateien anzeigen, wie mache ich das HILFE

    Hallo alle zusammen, brauche mal bitte bitte dringend Hilfe.
    Soll ein PHP Script schreiben, was pdf Dateien in einem Verzeichniss anzeigt.
    Das is ja erstmal nich schwer, einfach:

    Code:
     <?php
    function cmp($a, $b)
    {
    $Sort = "Datum";
    return strcmp($a[$Sort], $b[$Sort]);
    }
    
    $i = 0;
    if ($dir = @opendir("."))
    {
    while (($file = readdir($dir)) !== false)
    {
    if (is_file($file)  == '.pdf')
    {
    $aFiles[$i]["Datum"] = filemtime($file);
    $aFiles[$i]["Name"] = $file;
    $i++;
    }
    }
    closedir($dir);
    }
    
    if(count($aFiles) > 0)
    {
    uksort($aFiles, "cmp");
    $j = 0;
    for($j = 0; $j <= 3; $j++)
    echo "<a href=\"".$aFiles[$j]["Name"]."\" target=\"_blank\">".$aFiles[$j]["Name"]."</a>
    ";
    }
    ?>

    so um das mal einfach zu machen.
    Aber: also das sind Dateien wo ein Vertretungsplan drauf steht.
    Der ändert sich natürlich jeden Tag. Also heute wird die Datei für morgen, hochgeladen und die Datei für heute wurde gestern hochgeladen.

    Wenn jetzt jemand auf der Internetseite auf Vertretungsplan für heute klickt, soll die Datei, die gestern hochgeladen wurde angezeigt oder nur ein Link angezeigt werden.
    Wenn jemand auf morgen klickt also die Datei von heute.

    Hab da absolut keinen Ansatz.
    Vielleicht aus dem Dateinamen auslesen also zBsp. 03.01.2005.pdf oder aus den Datei informationen auslesen weis es echt nicht oder irgendwie mit dem Linux Timestamp vergleichen?
    Die Dateien sind im Format dd.mm.yyyy.pdf gespeichert.
    dd.mm.yyyy ist das Datum für das der Vertretungsplan gilt.
    Wie man die Dtei von heute quasi anzeigt geht vielleicht mit:
    Code:
    echo date("d").".".date("m").".".date("Y").".pdf";
    Die Dateien die eben von gestern und älter sind müssten nach möglichkeit automatisch gelöscht werden, das könnte ja das gleiche Script erledigen, das prüft dann zwar immer wenn da jemand drauf geht ob alte Dateien vorhanden sind ist aber erstmal egal. Wie könnte ich das am einfachsten machen? Mit Datum zeugs hab ich nich so .

    Bitte helft mir irgendwie, weis nich weiter.

    Im Vorraus vielen lieben Dank

  • #2
    Der Beitrag wurde verschoben, wegen...
    ... unangemessenem Verhalten/Benehmen.

    Bemerkung:
    Die gestellte Frage entspricht nicht dem Wissensstand eines/einer Fortgeschrittenen.

    [b]moved to PHP - Anfänger[/b
    Aufstrebend, kompetent und [b]werbefrei[/b].
    :arrow: [b][url=http://www.developers-guide.net]www.developers-guide.net[/url][/b]

    Kommentar


    • #3
      warum machst du das so kompiziert ?
      erzeuge doch einfach das aktuelle datum und mach 2 links daraus, eines mit dem heutigem datum und eines mit 86400 sek. mehr (1tag) für den nächsten tag.
      der link ist doch immer der gleiche, nur das sich das datum in diesem ändert...

      ich sehe aber probleme wenn es aufs wochenende zugeht. müsste man die daten dann eben ausklammern oder überspringen ...

      warum änderst du nicht einfach die namen der datein ? derjenige der zugriff zum server hat, sollte das doch hinbekommen...

      Kommentar


      • #4
        Re: Nur bestimmte Dateien anzeigen, wie mache ich das HILFE

        Zitat von daywalker0086
        Der ändert sich natürlich jeden Tag. Also heute wird die Datei für morgen, hochgeladen und die Datei für heute wurde gestern hochgeladen.

        Wenn jetzt jemand auf der Internetseite auf Vertretungsplan für heute klickt, soll die Datei, die gestern hochgeladen wurde angezeigt oder nur ein Link angezeigt werden.
        Wenn jemand auf morgen klickt also die Datei von heute.

        Hab da absolut keinen Ansatz.
        Vielleicht aus dem Dateinamen auslesen also zBsp. 03.01.2005.pdf oder aus den Datei informationen auslesen weis es echt nicht oder irgendwie mit dem Linux Timestamp vergleichen?
        Die Dateien sind im Format dd.mm.yyyy.pdf gespeichert.
        warum machst du es dir so schwer?
        dein letzter satz sagt alles - "Format dd.mm.yyyy.pdf"
        basename() richtig eingesetzt liefert dir das datum als string, woran scheitert es?

        Kommentar


        • #5
          also nochmal zu meiner aussage...

          PHP-Code:
          <?php
          $datumheute
          =date("j.n.Y");
          echo 
          "Datum heute: $datumheute 
          \n"
          ;
          $datummorgen=date("j")+1;
          $datummorgen=$datummorgen date(".n.Y");
          echo 
          "Datum morgen: $datummorgen";
          ?>
          nun nur noch in einen link bauen und schon sollte es kein problem mehr geben...

          Kommentar

          Lädt...
          X