kostenloser Webspace werbefrei: lima-city


PHP Script funktioniert nicht

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    druckertinte

    druckertinte hat kostenlosen Webspace.

    Ich bastel schon seit einiger Zeit an einem Script rum, dass mir eine Ordnerstruktur auslesen und in ein Select packen soll. Das funktioniert auch ganz gut, allerdings nicht bei Subpages. Die Ordnerstruktur ist folgende:

    -home.txt
    -bla.txt
    -seite.txt
    -seite
    --subpagevonseite.txt
    -nochneseite.txt

    In den txts sind die Seiteninhalte. Wenn ein Ordner mit dem gleichen Namen vorhanden ist, sind darin die Subpages.
    So der Code ist folgender:
    <?php
    echo 'Seite zum bearbeiten ausw&auml;hlen:<br>
          <form action="index.php?page=pages_edit&id='.$id.'" method="POST">
            <select name="pages">';
    
    $pageslist = array();
    $subpages = array(array());
    
    $dir = "../include/contents/";
    $od = opendir($dir);
       
    while($rd=readdir($od))
      {
        $pageslist[] = $rd;
      }
    
    foreach($pageslist as $pagenameb)
      {
        $pagename = explode(".", $pagenameb);
        $pagename_filetype = $pagename[1];
        $pagename = $pagename[0];
        if($pagename_filetype == "txt" AND is_dir("../include/contents/".$pagename."/") AND $pagenameb != "." AND $pagenameb != "..")
          {
            $dir = "../include/contents/".$pagename."/";
            $od = opendir($dir);
            while($rd=readdir($od))
              {
                $subpages[$pagename][] = $rd;
              }
          }
      }
    
    foreach($pageslist as $pagefilename)
      {
        if($pagefilename != "." AND $pagefilename != "..")
          {
            $pagefile = explode(".", $pagefilename);
            if($pagefile[1] == "txt")
              {
                echo '<option>'.$pagefile[0].'</option>';
              }
              else
              {
                foreach($subpages[$pagefile] as $subpage)
                  {
                    echo '<option>--'.$subpage.'</option>';
                  }
              }
          }
      }
    
            echo '</select>
            <input type="submit" value="Bearbeiten">
          </form>';
    ?>


    Fehlermeldungen sind 2 da:
    Warning: Illegal offset type in ***************************** on line 44
    Warning: Invalid argument supplied for foreach() in ***************************** on line 44
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. druckertinte schrieb:
    Fehlermeldungen sind 2 da:
    Warning: Illegal offset type in ***************************** on line 44
    Warning: Invalid argument supplied for foreach() in ***************************** on line 44


    foreach($subpages[$pagefile] as $subpage)


    sollte sein:
    foreach($subpages[$pagefile[0]] as $subpage)


    man könnte auch...

    elseif (in_array($pagefile[0],$subpages ))
              {
                foreach($subpages[$pagefile[0]] as $subpage)
                  {
                    echo '<option>--'.$subpage.'</option>';
                  }
              }


    Wäre es nicht allgemein etwas einfacher wenn Du das ganze in Funktionen aufteilst, auf die txt-Dateien verzichtest und stattdessen rekursiv durchsuchst ?sprich durch eine Suchfunktion die bei jedem Ordner sich selber wieder aufruft)



  4. Autor dieses Themas

    druckertinte

    druckertinte hat kostenlosen Webspace.

    THX
    Hat funktioniert!
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!