Ankündigung

Einklappen
Keine Ankündigung bisher.

Ordnerauslesescript O_o

Einklappen

Neue Werbung 2019

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

  • Ordnerauslesescript O_o



    Hi,

    ich hab mir aus Spass mal ein kleines Script gebastelt, welches den aktuellen Ordner (in dem die Scriptfile liegt) ausliest, und auch derren Unterordner. Per Klick auf einen Unterordner (im Script ) werden die Dateien dieses Ordners ausgelesen.

    Jetzt möcht ich gern von euch wissen, wie sicher das überhaupt ist, und was ich da besser machen könnte (möchte schliesslich mich auch bischen weiterbilden ).

    Datenbank ist nicht nötig, ihr könnt es also theoretisch auch 1:1 rauskopieren und lokal testen, oder weiterführen oder auf euren Space haun oder was auch immer.

    Sicherheitstechnisch hab ich noch nichts gemacht, weiss nicht mal, ob des hier von Nöten ist bzw. ob man da überhaupt Unsicherheiten hat

    Also hier einfach mal des Script, und lasst euch mal schön aus über mich, aber bitte nicht steinigen

    Danke derweil

    PS: Wusste nicht in welche Kategorie es gehört, wenn man nach Verbesserungen frägt. PHP-Anfänger etc passt es ja nicht, da ja kein direktes Problem vorliegt. Werbung mach ich auch nicht, da ich nichts verkaufen will oder an den Mann/Frau bringen möchte. Und Gesuche geht mal gar nicht. Offtopic schien mir da am Plausibelsten zu sein, wo es rein passt

    [PHP]
    <html>
    <head>
    <title>FileSis v1.3</title>
    <link rel=stylesheet type="text/css" href="http://www.guards-of-azeroth.de/css/css.css">
    </head>

    <body>

    <?php
    // FUNCTIONS
    function showdir($path,$st) {
    $st++;
    $dir=opendir($path);
    while($file = readdir($dir)) {
    $name = $path ."/". $file;
    if($file != "." AND $file != ".." AND is_dir($name)) {
    for($i=0;$i<=$st;$i++) {
    echo '';
    }
    echo '

  • #2
    Schaut niemand drüber oder gibts nichts zu verbessern? (Tip eher auf ersteres :P).

    Hmm isses zu viel Quellcode zum Anschauen? Oder einfach komplett falsch? Falsche Kategorie? Vielleicht kommt doch noch paar Comments, wär cool, danke.

    Gruß

    Kommentar


    • #3
      Ich denke mein Comment ist nicht wirklich das was du dir erhofft hast, aber ich möchte ein paar Dinge zum verwendetem HTML anmerken:

      ... wäre besser wenn du <span style="font-style:italic;">...</span> schreiben würdest.
      ... => <span style="font-weight:bold;">...</span>
      » ist glaub ich &raquo;


      und dann noch ne kleinigkeit zum code:

      Kennst du die Funktion glob(); www.php.net/glob ?
      Ich denke sie ist zum auslesen von ordnern aulch sehr hilfreich!



      mfg
      Andi

      Kommentar


      • #4
        Das Script funktioniert nur wenn es den Dateinamen "index.php" hat.

        Wenn es nicht "index.php" heisst, kann man es zwar starten aber wenn man auf etwas klickt geht es nicht, bzw. sollte es nicht gehen wenn man den Quellcode so anschaut.

        Kommentar


        • #5
          Re: Ordnerauslesescript O_o

          PHP-Code:
          <html
          Doctype-Def. fehlt

          PHP-Code:
          <?php
            
          // FUNCTIONS
            
          function showdir($path,$st) {
          Defaultwert 0 oder besser -1 setzen, anstatt den Wert beim Aufruf mitzuübergeben. Besser vielleicht noch eine statische Variable nehmen und die dann eben auch wieder runterzählen.

          PHP-Code:
              $st++;
              
          $dir=opendir($path);
              while(
          $file readdir($dir)) { 
          Das ist nicht ganz korrekt. Müsste heißen while (false !== $file = readdir($dir)) - besser noch $entry oder so anstatt $file, da es sich ja eben um eien Verzeichniseinztag handelt und das kann ja neben einer Datei auch ein Verzeichnis, ein Sym- oder Hartlink und was weiß ich noch alles sein.

          PHP-Code:
                $name $path ."/"$file
                if(
          $file != "." AND $file != ".." AND is_dir($name)) { 
          Und wie kommt man wieder hoch?

          PHP-Code:
                  for($i=0;$i<=$st;$i++) {
                    echo 
          '';
                  } 
          strpad()! Andernfalls < anstatt <= verwenden, wenn du bei 1 anfängst.

          PHP-Code:
                  echo '» [url="index.php?dir='.$name.'"]'$file .'[/url]
          '
          ."\n"
          ...eigentlich ja eine verschachtelte Liste - also warum diee Einrückung und die Zeilenumbrüche anstatt direkt ul und li?

          PHP-Code:
            // PFAD
            
          if(!isset($_GET['dir'])) {
              
          $path '.';
            } else {
              
          $path $_GET['dir'];
            }

            
          $dir=opendir($path); 
          Zumindest mal prüfen, obs ein Verzeichnis und "begehbar" ist...

          PHP-Code:
            while($file readdir($dir)) { 
          Siehe oben oder im Manual.

          PHP-Code:
              $info pathinfo($file);                                      // PFADINFO HOLEN (NÖTIG FÜR EXTENSION)
              
          if($file != "." AND $file != ".."                             // . UND .. AUSSCHLIESSEN 
          Kommentare hier unnötig, da sie nicht mehr aussagen, als der Code selbst. Prinzipiell besser in englisch kommentieren oder zumindest ausschließlich ASCII-Zeichen vewenden (noetig fuer ...).

          PHP-Code:
                              AND $file != 'index.php'                      // index.php (DIESE DATEI) AUSSCHLIESSEN 
          Dieser Fehler wurde ja schon genannt - prinzipiell fragwürdig, die Datei einfach wegzulassen.

          PHP-Code:
                foreach($ext AS $extkat => $extarr) {                       // VERSCHIEDENE KATEGORIEN DURCHGEHEN
                  
          if(in_array(strtolower($info['extension']), $extarr)) {   // BEI ÜBEREINSTIMMUNG MIT EINER KATEGORIE
                    
          $kat[$extkat][] = $file;                                // IN KATEGORIEARRAY SCHREIBEN
                    
          break;                                                  // UND SCHLEIFENVORGANG ABSCHLIESSEN
                  
          }
                } 
          Find ich ein wenig übertrieben, dieses komische Kategorien-Array. Wie wäre es denn, die Dateien einfach via $aFiles[strtolower($sExt)][] = $sName zu speichern und dann hinterher schauen, was du damit anfängst.

          PHP-Code:
            echo '[b]Ordnerstruktur[/b]:
          '
          ."\n"
          Das [b] wurde ja schon bemäkelt. Allerdings ist ein span da auch nicht viel stimmiger. Für Hervorhebungen gibt es strong und em!

          PHP-Code:
              $path substr($_GET['dir'],2) ."/"
          Was'n das? Wird da ein "./" wegradiert, oder was? Scheint mir sehr schwammig ... oder labil.

          PHP-Code:
            // AUSGABE DER VERSCHIEDENEN SPARTEN
            
          foreach($kat AS $kategorie => $files) {
              echo 
          '[b]'$kategorie .':[/b]
          '
          ."\n"
          Zuviel mit WORD gearbeitet, oder? Vielleicht mal TeX anschauen, oder die Formatvorlagen von Word. Konkret: Für Überschriften gibt es HTML-Tags (h1 bis h<irgendwas>).

          PHP-Code:
              if(count($files)>0) {
                foreach(
          $files AS $file) {
                  echo 
          '» [url="'$path.$file .'"]'$file .'[/url]
          '
          ."\n"
                } 
          Auch wieder eine Liste.

          Jo. Bleibt nurnoch, nach dem Sinn zu fragen...

          Basti

          Kommentar


          • #6
            Das [b] wurde ja schon bemäkelt. Allerdings ist ein span da auch nicht viel stimmiger. Für Hervorhebungen gibt es strong und em!
            Okay danke... Werd ich mir merken.. ich dachte auf diese beiden muss / soll man ebenso verzichten wie auf [b], [i] , etc.



            mfg
            Andi

            Kommentar


            • #7
              Zitat von DER_Brain
              Das [b] wurde ja schon bemäkelt. Allerdings ist ein span da auch nicht viel stimmiger. Für Hervorhebungen gibt es strong und em!
              Okay danke... Werd ich mir merken.. ich dachte auf diese beiden muss / soll man ebenso verzichten wie auf [b], [i] , etc.
              Hi Andi.

              Es geht ja darum, in HTML die Struktur des Dokuments zu beschreiben, ohne eine Aussage über die Darstellung zu machen. Die Aussage ist also: Dieser Part ist wichtig. Wie der dann hervorgehoben wird, das wird in css definiert. Ein Ansatz, wie em und strong verwendet werden könnten, findest du z.B. bei Jukka Korpela[1]

              [1] http://www.cs.tut.fi/~jkorpela/html/em.html

              Basti

              Kommentar


              • #8
                Dankesehr Basti...


                Interessanter Link.


                mfg
                Andi

                Kommentar

                Lädt...
                X