Gå til innhold

localhost (index) med oversikt over filene dine


Anbefalte innlegg

Hei!

Jeg tenkte nå at det hadde vært fint om jeg kunne legge inn en del koding i localhost som gjør at indexen i localhost inneholder alle linkene til php-filene mine. Jeg vil gjøre slik at indexen oppdaterer seg automatisk hver gang jeg lagrer en php-fil i den mappen som man må lagre den i for å vise filen i localhost. Det skal være slik at jeg ikke trenger å sette inn linker, men at det blir gjort automatisk.

 

Noen som har peiling på dette? :hmm:

 

Takk for svar :)

Lenke til kommentar
Videoannonse
Annonse

hvis du ikke har en index fil vil apache automatisk vise deg directory listing da. ellers har jeg noe greier jeg bruker til det samme:

<?php
  session_start();
  
  if($_POST || ( $_SESSION['logged_in'] && $_SESSION['ip'] == $_SERVER['REMOTE_ADDR'] ))
  {
     if($_GET['logout'])
     {
        session_destroy();
        header("Location: index.php");
        die;
     }
        
     if($_POST['pw'])
     {
        if(md5($_POST['pw']) == "4c3a875b20a055d435131ee79791848c")
        {
           $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
           $_SESSION['logged_in'] = md5(substr($_POST['pw'], -10));
           header("Location: index.php");
           die;
        }
        else
           header("Location: index.php?feil_pw=jau");
     }
     elseif(!$_POST['pw'] && !$_SESSION['logged_in'])
     {
        die("Fyll ut alle felter. Gå <a href=\"javascript:history.go(-1)\">tilbake</a>");
     }
     else
     {
        // Du er logget inn
           function getDir($dir, $level = 0)
           {
              $opendir = opendir($dir);
              $ignore = array('.','..','Thumbs.db');
              
              while(false !== ($file = readdir($opendir)))
              {
                 if(!in_array($file, $ignore))
                 {   
                    $path = $dir.'/'.$file; 
                    $indent = str_repeat(' ', $level);
                      
                    if(!is_dir($path) && !strstr($path, 'phpmyadmin') && !strstr($path, '~'))
                       echo $indent . '<a href="' . $path . '">'.$file.'</a><br />';
                    if(is_dir($path))
                    {
                       echo "$indent<a href=\"$path\"><strong>$file</strong></a><br />";
                       getDir( $path, ($level + 5) );
                    }
                 }
              }
              closedir($opendir);
           }
           echo '<h2 style="display:inline;">Directory listing for '.$_SERVER['DOCUMENT_ROOT'].'</h2>';
           echo '<input type="button" style="width:100px;float:right;"value="Logg ut?" onclick="location.href = \'?logout=true\'" />';
           echo '<h5 style="clear:both;">'.date("d.m.Y \- H:i:s").'</h5>';
           echo '<hr />';
           GetDir('.');
           echo '<hr />' . $_SERVER['SERVER_SIGNATURE'];
        // Du er logget inn
     }
  }
  else
  {
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/xhtml1-strict.dtd">
<html>
  <head>
     <title>Logg inn...</title>
     <meta http-equiv="refresh" content="3600;">
     <style type="text/css">
     
     </style>
  </head>
  <body>
     <?php
        if(strcmp($_GET['feil_pw'], 'jau') == 0)
           echo '<h2>Prøv på nytt!</h2>';
        else
           echo '<h2>Velkommen!</h2>';
     ?>
     <h3>Du må logge inn for å vise directory listing på serveren...</h3>
     <form method="post" action="">
        Ditt passord: <input type="password" name="pw" />  <br />
        <input type="submit" name="submit" value="Logg inn" />
     </form>
     <hr />
  </body>
</html>
<?php
  }
?>

passordet er: 3crwe554g721, men dette kan du sikkert klare å tilpasse selv

Endret av hockey500
Lenke til kommentar

Takk hockey500. Men jeg har et problem... Jeg får disse to feilmeldingene før jeg logger inn:

 

Warning: Cannot send session cookie - headers already sent by (output started at c:\apache\htdocs\index.php:3) in c:\apache\htdocs\index.php on line 2

 

Warning: Cannot send session cache limiter - headers already sent (output started at c:\apache\htdocs\index.php:3) in c:\apache\htdocs\index.php on line 2

 

Når jeg er logget inn er det bare disse feilmeldingene som vises:

 

Warning: Cannot send session cache limiter - headers already sent (output started at c:\apache\htdocs\index.php:3) in c:\apache\htdocs\index.php on line 2

 

Warning: Cannot add header information - headers already sent by (output started at c:\apache\htdocs\index.php:3) in c:\apache\htdocs\index.php on line 19

 

 

Hva skal jeg gjøre?

Endret av chipmann
Lenke til kommentar

Jippi! Nå fikk jeg det til å virke! :D Tusen takk :) Det beste scriptet noen sinne :D Tuuuusen takk :) Jeg tror jeg hadde kommet nær en tast da jeg satt inn koden i index-filen. Men i alle fall: Nå virker det!

 

Men jeg skjønner ikke hvordan jeg skal endre passordet... :hmm: Kan du fortelle?

Endret av chipmann
Lenke til kommentar

oppe i scriptet finner du denne linja:

        if(md5($_POST['pw']) == "4c3a875b20a055d435131ee79791848c")

den sammenlikner passordet du skrev inn med md5-hashen til teksten "3crwe554g721". Hvis du skal endre passordet må du først finne md5-hashen til det ønskede passordet. si at du ønsker passordet "chipmann" da.

 

<?php echo md5("chipmann"); ?>

så tar du bare copy/paste på den teksten du da får, og erstatter den lange stringen

Lenke til kommentar
Gjest Slettet+142

så på det scriptet til hockey500 og lurte på om det går an å KUN vise f.eks php-filer...

hvis... noen som gidder å modifisere det scriptet litt sånn at det går an?

:innocent:

 

****fant det ut sjøl******

Endret av Slettet+142
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...