Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Konsola na stronie
Forum PHP.pl > Forum > Gotowe rozwiązania > Szukam
dzyndzyn86
Witam!
Proszę o pomoc w napisaniu strony z konsolą. Chodzi o to żeby móc wykonywać polecenia wpisywane na stronie internetową i wynik przekierować na nią. Część mam już zrobioną (poleceniem w PHP shell_exec) ale ma problem z polecenie "cd" niby jest wykonywane ale nie przechodzi o katalogów. Mógł by mi ktoś podpowiedzieć jak to rozwiązać.
Co do serwerów to obojętnie jeden chodzi na linuxie a drugi w windowsie.
agniesias84
Witaj!! poradziels sobie z problemem?? mam idntyczny!!

Tzn myslalam, aby akurat obsluge cd to zrobic z zapisyaniem do pliku.. w sensie mamy zmienna ze sciezka dostepu, kiedy za strony przychodzi wywolanie cd, to jest specjalna procedura to obsługujaca i zapamietujaca sciezke..
ja jeszcze mam dodatkowo zrobic obsluge bledow..
tez uzywam shell_exec
ale obsluguje mi to tylko polecenia typu ls, czy who.. innych nie . np nie obsluguje polecenia mkdir i nie wiem cosie dzieje :/

jak Ty to rozwiazujesz??

pzodrawiam!!
SongoQ
TUtaj php jest zlym rozwiazanie bo wszystko idzie za pomoca 1 requestu a to jest zle. Nasuwa to mase bledow wlasnie odnosnie w jakiej lokalizacji jestes, musisz kazde wywolanie zapamietywac parsowac itd i potem wywolywac za duzo zabawy. Wiele takich aplikacji osadza jave do tego typu.
agniesias84
ja bym chciala jeszcze zapytac o te kłopoty, ktore sprawia robienie konsoli za pomoca php.. mam takie zadanie na zajecia :/
i tez utkenlam na obsludze tego polecenia cd
z tego co rozumiem, to shell_exec($polecenie) odnosi sie do biezacej sciezki..
czy mozna jakos zmienic te sciezke wykonywania shell_exec questionmark.gif
probowalam roznych kombinacji
np $sciezka= '/home/mat/agardzie/public_html/sieci/domowe';
$polecenie = ls;
shell_exec($sciezka.$polecenie);

i mi nie idzie :/ nie umiem wyswietlic zawartosci innego katalogu niz ten w ktorym jest moj plik z poleceniem shell_exec..
jak juz to bede umiala zrobic, to do obsługi polecenia cd juz łatwo smile.gif <no powiedzmy>

druga rzecz. za ktora nie wiem jak sie zabrac, to obsluga bledow :/
czyli jesli wpisze jakies durne polecenie np:
$polecenie='poiuytrewer';
to program powinien mi wypisac:
-bash: poiuytrewer: nie znaleziono polecenia

pozdrawiam i prosze o pomoc!!!
dzyndzyn86
<?php
setlocale(LC_ALL, 'pl_PL', 'pl', 'Polish_Poland.28592');

echo "<pre>";

$plik = fopen("wykonaj.sh", "w");
fwrite($plik, "#!/bin/bash\ncd ".file_get_contents("katalog.txt").$_POST['polecenie']."2> /var/www/wynik.txt\npwd > /var/www/katalog.txt");
fclose($plik);
$wynik=shell_exec("sh wykonaj.sh");
echo file_get_contents("katalog.txt");
echo file_get_contents("wynik.txt");
echo $wynik;

echo "</pre>";
?>
<html>
<body>
<FORM ACTION="praca2.php" METHOD="POST">
Wpisz polecenie:
<INPUT TYPE=TEXT NAME="polecenie">
<INPUT TYPE="SUBMIT" value="Wyslij">
</FORM>
</BODY>
</HTML>


Działa na serwerze z linuxem i wyłączonym safe_mode w PHP.
agniesias84
dzieki smile.gif ale to juz jest z poleceniem cd, czy nie??
ja wlasnie robie cd.. powinnam tomiec za chwile, ale jeszcze obsluga bledow :/
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.