[PHP] Ordnerauslesen Problem (Screens & Code angehängt)

Dieses Thema im Forum "Webentwicklung" wurde erstellt von mySQL, 13. Juni 2008 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 13. Juni 2008
    Zuletzt von einem Moderator bearbeitet: 15. April 2017
    Ordnerauslesen Problem (Screens & Code angehängt)

    Hi Leute,

    ich habe kleines CMS System in dem man einmal Templates und Konfigurationsdateien bearbeiten kann. In dem Templates Menü wird der Ordnerinhalt korrekt ausgelesen und in einer Liste aufgeführt. Jedoch habe ich das Problem, dass das selbe nur mit den Konfigurationsdateien nicht klappt. Sprich die Konfigurationsdateien werden nicht aus dem Ordner ausgelesen und in der Liste angezeigt.

    Hier mal ein Screen, wie das im Templates Menü aussieht:

    templatesqm1.jpg
    {img-src: //img125.imageshack.us/img125/8302/templatesqm1.jpg}


    Und so sollte es im Konfigurationsmenü auch aussehen, nur halt mit den Konfigurationsdateien. Jedoch bleibt die Liste leer im Konfigurations Menü, siehe Screen:

    konfigdateienlj4.jpg
    {img-src: //img125.imageshack.us/img125/6388/konfigdateienlj4.jpg}



    Hier der Code dazu:

    PHP:
    <?
    $folder = "../config" ;


        
    $handle =@ opendir ( $folder );
        while(
    $file =@ readdir ( $handle )) {
            
    $tmp_file []= $file ;
        }

        @
    closedir ( $handle );

        
    sort ( $tmp_file );

        
    $i = 1 ;
        foreach(
    $tmp_file  as  $file ) {
            if(
    strrchr ( $file "." )== ".tpl" ) {
                    
    $tpl = $tpl . '<option value="' . $file . '">' . $file . '</option>' ;
            }        
        }

    if(!
    $usrp  ==  md5 ( $adminpass ) &&  $usrn  ==  $adminuser )
    {
    header ( "location: index.php?action=home" );
    }else{
    ?>

    <script language="JavaScript"> 
     
    var saveval="";
    IE4 = (document.all) ? 1 : 0;

      function delTemplate() {
       if(document.tform.templateid.selectedIndex!=-1) window.location=('index.php?action=datdel&file='+document.tform.templateid.options[document.tform.templateid.selectedIndex].value);
      }
      
      function addTemplate() {
       window.location=('index.php?action=datnew');
      }
      
      function copyTemplate() {
       if(document.tform.templateid.selectedIndex!=-1) window.location=('index.php?action=datcopy&file='+document.tform.templateid.options[document.tform.templateid.selectedIndex].value);
      }
      
      function editTemplate() {
       if(document.tform.templateid.selectedIndex!=-1) window.location=('index.php?action=datedit&file='+document.tform.templateid.options[document.tform.templateid.selectedIndex].value);
      }
      

      
      function quick_search(theform,search) {
       search = search.toLowerCase();
       if(IE4) keycode=window.event.keyCode;
       else keycode=0;
       if(search!='' && search!=saveval && keycode!=8 && keycode!=46) {
        save=Array();
        count=0;
        for(i=0;i<theform.templateid.options.length;i++) {
         if(theform.templateid.options[i].text.substr(0,search.length).toLowerCase()==search) {
          if(count==0) theform.templateid.options[i].selected=true;
          save[count]=theform.templateid.options[i].text.toLowerCase();
          count++;
         } 
        }
        saveval=search;
        if(IE4 && save.length!=0) shell(save);
       }
      }
      
    function shell(save) {
        var temp = save[0];
        var z = temp.length;
        for (var i = 1; i < save.length; i++) {
            while (z > 0) {
                if (temp.substr(0, z) == save[i].substr(0, z)) break;
                else z--;
            }
            if (z <= 1) break;
        }
           
           
           var oldlength = document.tform.quicksearch.value.length;
           saveval = temp.substr(0, z);
           
           document.tform.quicksearch.value = saveval;
           document.tform.quicksearch.select();
           
           if (document.selection != null) {
               var objRange = document.selection.createRange();
               objRange.moveStart("character", oldlength);
               objRange.select();
           }
    }
    //--> 
    </script>
    <br />
    <form onsubmit="return false;" name="tform" action="">
     <input type="hidden" name="action" value="view" />
     <table cellpadding="0" cellspacing="0" border="0" style="width:400">
     <tr>
      <td colspan=2 align="left"><b>Konfigurationsdateien bearbeiten</b></td>
     </tr>
      <tr>
       <td width="150" valign="top"><b>Dateien:</b><br /><br />
        <a href="javascript:addTemplate();">Datei hinzufügen</a><br />
            <a href="javascript:editTemplate();">Datei editieren</a><br />
        <a href="javascript:copyTemplate();">Datei kopieren</a><br />
        <a href="javascript:delTemplate();">Datei löschen</a><br />
        <br />
           <b>Schnellsuche:</b><br />
           <input type="text" name="quicksearch" value="" onkeyup="quick_search(this.form,this.value)" />&nbsp;</td>
       <td>
            <select size="10" name="templateid" style="width:95%" onDblClick="editTemplate();">
    <?  echo  $tpl?>
            </select>
       </td>
    </table>
     </form>
    <?  } ?>
    Datei Downloadlink:
    Klick!

    BW's gibst für jede hilfreiche Antwort.
     
  2. 13. Juni 2008
    AW: Ordnerauslesen Problem (Screens & Code angehängt)

    PHP:
    <? php
        $options 
    '' ;
        foreach(
    scandir ( realpath ( '../config/' )) as  $file ) {
            if(
    substr ( $file , - 1 4 ) ==  '.tpl' ) {
                
    $options  .=  "\t"  '<option value="'  $file  '">'  $file  '</option>'  "\n" ;
            }
        }
    ?>
    <html>
        <head>
            <title>iwas</title>
        </head>
        <body>
            <?php  if(!empty( $options )):  ?>
                <select name="files" size="20">
                    <?php  print  $options ?>
                </select>
            <?php  else:  ?>
                <em>nix vorhanden</em>
            <?php  endif;  ?>
        </body>
    </html>
    sollte man mal benchmarken
     
  3. 13. Juni 2008
    AW: Ordnerauslesen Problem (Screens & Code angehängt)

    Hi Murdoc,
    Habe den Teil ersetzt, scheint soweit zu funktionieren.

    Allerdings zeigt er mir nun die Fehlermeldung "nix da" an...

    Jetzt ist die Frage, wieso er das macht. Der Ordner ist vorhanden und es ist was drin.
    Er scheint den Ordner also nicht auslesen zu können/wollen.

    //Edit:
    BW raus!
     
  4. 13. Juni 2008
    AW: Ordnerauslesen Problem (Screens & Code angehängt)

    Hat sich erledigt.
    Lag daran, dass das Wort "Konfigurationsdateien" zu lang war,
    dadurch muss sich wohl die Box verschoben haben.

    *Closed*
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.