Auslesen einer Datei mi Collapse Menü

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Auslesen einer Datei mi Collapse Menü

    Hallo,
    ich bin relativ neu in der Sprache PHP und sitze grad an einer Aufgabe fest, wo ich aus iner Text-Datei bzw. *.dat Datei einzelne Zeilen auslesen muss aber die an Bestimmten stellen Ein untermenü haben, das Collapse und Expandable sein muss. Die Stellen sind der Jeweilige wochentag und die Uhrzeit.

    Hier mein Code was ich bis jetzt geschafft habe und anbi liegt die dat datei.

    PHP-Quellcode

    1. <?php
    2. /*
    3. * Ein Array zur Aufnahme der Dateien
    4. */
    5. $datei_arr=array();
    6. $verzeichnis = "../archivierung/";
    7. /*
    8. * Die Funktion liest ein Verzeichnis incl. Unterverzeichnisse aus.
    9. * - $verzeichnis - das soll ausgelesen werden
    10. * - &$arr - hier wird das Array (s.o.) Übergeben. Das & ist eine Referenz auf die Variable,
    11. * die hier durch direkt von der Funktion verändert wird.
    12. */
    13. function dir_rekursiv($verzeichnis, &$arr){
    14. /*
    15. * Diese Dateitypen sollen eingelesen werden.
    16. */
    17. //$datei_typ_arr=array(0 => ".dat", 1 => ".php", 2 => ".xml", 3 => ".txt");
    18. $datei_typ_arr=array(0 => ".dat", 1 => ".txt");
    19. $handle = opendir($verzeichnis);
    20. while ($datei =@readdir($handle)){
    21. if ($datei != "." && $datei != ".." ){
    22. if (is_dir($verzeichnis.$datei)){
    23. dir_rekursiv($verzeichnis.$datei."/", &$arr);
    24. }else{
    25. /*
    26. * strrchr(string $string, string $zeichen) gibt den Text nach dem letzten Vorkommen von $zeichen incl. $zeichen zurück.
    27. */
    28. $ext=strrchr($verzeichnis.$datei, ".");
    29. /*
    30. * Wenn $ext in dem Dateitypen-Array vorkommt, Datei im Array ablegen.
    31. */
    32. if(in_array($ext, $datei_typ_arr)){
    33. $arr[]=$datei;
    34. }
    35. }
    36. }
    37. }
    38. @closedir($handle);
    39. }
    40. /*
    41. * Funktionsaufruf mit Verzeichnisangabe und Variable
    42. */
    43. dir_rekursiv($verzeichnis ,$datei_arr);
    44. /*
    45. * usort($array, Callback-Funktion) sortiert das Array.
    46. */
    47. usort ($datei_arr, 'cmp');
    48. ?>
    49. <?php
    50. /*
    51. * Dateinamen in der Selectbox ausgeben.
    52. */
    53. foreach($datei_arr as $datei){
    54. echo "<option value=\"$datei\">$datei</option>";
    55. }
    56. ?>
    57. <?php
    58. /*
    59. * Mit ini_set(PARAMETER) werden Fehler/Hinweise angezeigt.
    60. */
    61. ini_set('error_reporting', E_ALL|E_STRICT);
    62. ini_set('display_errors', 'On');
    63. /*
    64. * Parameter der Funktion:
    65. * - ein oder mehrere Suchbegriffe
    66. * - einen Dateinamen
    67. */
    68. function output($textdatei){
    69. /*
    70. * Wenn kein Dateiname eingegeben ist, Array mit Meldung füllen und beenden.
    71. */
    72. if(strlen(trim($textdatei))==0){
    73. $gef_zeilen_arr[]="Wählen sie einen Dateinamen";
    74. return $gef_zeilen_arr;
    75. }
    76. $text_zeilen_arr=array();
    77. $f = file($textdatei);
    78. /*
    79. * Wenn die Textdatei nicht geöffnet werden konnte (z.B. fehlende Rechte), Array mit Meldung füllen und beenden.
    80. */
    81. if(!$f){
    82. $gef_zeilen_arr[]="Datei: ".$textdatei;
    83. $gef_zeilen_arr[]="Die Datei ".$textdatei." konnte nicht geöffnet werden";
    84. return $gef_zeilen_arr;
    85. }
    86. echo("<b> ".$textdatei." <br><br></b>");
    87. /* $i=0;
    88. while($i<count($f)){//while 1
    89. $i++;
    90. }
    91. echo($i); */
    92. /* foreach($f AS $ausgabe) {
    93. // echo($ausgabe);
    94. $zerlegen = (preg_split("/[;!]+/",$ausgabe));
    95. foreach($ausgabe as $line)
    96. {
    97. if(strpos($line, $search) || strpos($line, $search1) || strpos($line, $search2) || strpos($line, $search3) ||
    98. strpos($line, $search4) || strpos($line, $search5) || strpos($line, $search6) !== false)
    99. echo(@"<br><b>$zerlegen[1]</b>") ;
    100. }
    101. echo("$zerlegen[0]");
    102. } */
    103. // What to look for
    104. $search = 'Montag';
    105. $search1 = 'Dienstag';
    106. $search2 = 'Mittwoch';
    107. $search3 = 'Donnerstag';
    108. $search4 = 'Freitag';
    109. $search5 = 'Samstag';
    110. $search6 = 'Sonntag';
    111. // Read from file
    112. $lines = file($textdatei);
    113. foreach($lines as $line)
    114. {
    115. // Check if the line contains the string we're looking for, and print if it does
    116. $zerlegen = (preg_split("/[-;!]+/",$line));
    117. if(strpos($line, $search) || strpos($line, $search1) || strpos($line, $search2) || strpos($line, $search3) ||
    118. strpos($line, $search4) || strpos($line, $search5) || strpos($line, $search6) !== false)
    119. echo(@"<br><b>$zerlegen[1]</b>");
    120. }
    121. @fclose($f);
    122. }
    123. /*
    124. * Ist das Formular gesendet, gibt die Funktion ein Array zurück, deshalb mit foreach ausgeben.
    125. */
    126. if(isset($_POST['seldatei'])){
    127. $ergeb = output($_POST['seldatei']);
    128. }
    129. ?>
    Alles anzeigen


    Ich hoffe ihr könnt mir helfen und danke euch schonmal im vorraus.
    sebl25
    Dateien
    • datei.txt

      (23,63 kB, 342 mal heruntergeladen, zuletzt: )

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von sebl25 ()