Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / Technologie / Software & Hardware
Reageren
 
Topictools Zoek in deze topic
Oud 03-01-2002, 16:01
Koen
Avatar van Koen
Koen is offline
Hoi,

Ik zit al een tijdje met 't volgende, en ik kom er zelf niet uit.

Ik wil eigen 2 dingen:
  • 1. Een gebruiker voert een input in op mijn site, bestaande uit een Linux commando. Bijvb: 'uname -a'. Dan wil ik dat dit geparsed wordt, en de output op 't de site vertoond wordt.
  • 2. Zelfde als 1, maar dan met een bestaande input, die gewoon geladen en geparsed wordt zodra ik op de site kom.

Volgens mij moet dit wel mogelijk / te realiseren zijn, ik ken wel CGI scripts die 't kunnen (Webmin). Maar hoe ik dit in PHP moet maken, ik heb geen flauw idee waar te beginnen, ik ben compleet PHP n00b.

TIA,

Koen
Met citaat reageren
Advertentie
Oud 03-01-2002, 16:06
F10®!@n
F10®!@n is offline
zoiets: http://www.php.net/manual/en/function.system.php ?

kan wel behoorlijk gevaarlijk zijn volgens mij....
Met citaat reageren
Oud 03-01-2002, 16:17
Koen
Avatar van Koen
Koen is offline
Citaat:
F10®!@n schreef:
zoiets: http://www.php.net/manual/en/function.system.php ?

kan wel behoorlijk gevaarlijk zijn volgens mij....

Ik wil 't ook alleen voor mezelf gebruiken hoor Maar tnx iig, ik ga ff kijken

Met citaat reageren
Oud 04-01-2002, 12:18
Chimera
Avatar van Chimera
Chimera is offline
Citaat:
Koen schreef:
Ik wil 't ook alleen voor mezelf gebruiken hoor Maar tnx iig, ik ga ff kijken
Nja. Zorg dan dat niemand die URL heeft, en dat het goed beveiligd is, want hij kan dan bijvoorbeeld heel simpel je PW te pakken krijgen.

Doe het dus liever met vaste commando's, die de gebruiker NIET zelf in kan geven.

Als het bestaande OUTPUT is, kun je die met file() in een keer in een array inlezen. Erg simpel.

ALs je bijvoorbeeld de output van hostname wil lezen kun je dat op 2 manieren doen:

Via exec() hostname uitvoeren, de output naar een file pipen ("hostname > blaat.txt"), en deze dan inlezen.

De uitvoer van hostname via popen() direct uitlezen. popen() levert je een filepointer op, en die kun je met bijv fgets() regel voor regel uitlezen.

Kan wel kijken of ik even een voorbeeld kan maken.

Met citaat reageren
Oud 04-01-2002, 12:26
Chimera
Avatar van Chimera
Chimera is offline
Okay. Voorbeeld, ff snel inmekaar gezet. Dit opent ipconfig (ja, win2k dus), en stuurt de output direct naar de browser:

Code:
<?
$fp = popen("ipconfig", "r") or die ("Could not execute!");
while($line = fgets($fp, 8192)) {
	echo $line . "<br>";
}
?>
Hoop dat je er wat aan hebt
Met citaat reageren
Oud 04-01-2002, 12:31
F10®!@n
F10®!@n is offline
Citaat:
Chimera schreef:
Okay. Voorbeeld, ff snel inmekaar gezet. Dit opent ipconfig (ja, win2k dus), en stuurt de output direct naar de browser:

Code:
<?
$fp = popen("ipconfig", "r") or die ("Could not execute!");
while($line = fgets($fp, 8192)) {
	echo $line . "<br>";
}
?>
Hoop dat je er wat aan hebt

Hoe kom je op dat 8192?
Met citaat reageren
Oud 04-01-2002, 12:45
Koen
Avatar van Koen
Koen is offline
Ik heb 't voorlopig even op de simpele manier van Florian gedaan, en dat werkt prima
http://superwrak.2y.net/
Met citaat reageren
Oud 04-01-2002, 13:19
Chimera
Avatar van Chimera
Chimera is offline
Citaat:
F10®!@n schreef:

Hoe kom je op dat 8192?
8kB. Hoeveelheid data die 'ie maximaal inleest voordat 'ie het als regel teruggeeft. Neem aan dat je geen regels met meer dan 8000 tekens hebt?

Gewoon een redelijk grote waarde gekozen. 8kB geheugen is niks

Met citaat reageren
Oud 04-01-2002, 13:20
Chimera
Avatar van Chimera
Chimera is offline
Citaat:
Koen schreef:
Ik heb 't voorlopig even op de simpele manier van Florian gedaan, en dat werkt prima
Ah, okay. Ik wist niet dat je die output rechtstreeks wou sturen.

Maar als je iets in tabellen ofzo wil zetten, of berekeningen uit wil voeren met de data, dan moet je het dus op een andere manier doen

Met citaat reageren
Oud 04-01-2002, 13:22
Koen
Avatar van Koen
Koen is offline
Citaat:
Chimera schreef:
Ah, okay. Ik wist niet dat je die output rechtstreeks wou sturen.

Maar als je iets in tabellen ofzo wil zetten, of berekeningen uit wil voeren met de data, dan moet je het dus op een andere manier doen

Ah I see, dat is dan 't volgende stapje, daar ga ik dan dit weekend wel mee bezig, dan weet ik je te vinden
Met citaat reageren
Oud 05-01-2002, 11:16
beuk
Avatar van beuk
beuk is offline
Wat doen jullie moeilijk, of snap ik het niet? (heb niet alles gelezen).

Als je een commanda tussen `` zet wordt het gewoon op de shell uitgevoerd. Dus b.v.

Code:
$uptime = `uptime`;
print $uptime;
__________________
when i rock..
Met citaat reageren
Oud 05-01-2002, 11:37
F10®!@n
F10®!@n is offline
Citaat:
beuk schreef:
Wat doen jullie moeilijk, of snap ik het niet? (heb niet alles gelezen).

Als je een commanda tussen `` zet wordt het gewoon op de shell uitgevoerd. Dus b.v.

Code:
$uptime = `uptime`;
print $uptime;
Hiermee krijg je dus gewoon 'uptime' op het scherm.
Met citaat reageren
Oud 05-01-2002, 12:53
Koen
Avatar van Koen
Koen is offline
Citaat:
F10®!@n schreef:

Hiermee krijg je dus gewoon 'uptime' op het scherm.

Nee hoor, dit werkt inderdaad ook. Zo heb ik 't vroeger geloof ik ook wel eens gedaan, maar nu gaat 't met system() ook prima.

Thnx iig beuk
Met citaat reageren
Oud 05-01-2002, 13:17
F10®!@n
F10®!@n is offline
ah... ik zie het...

verkeerde ' gebruikt
Met citaat reageren
Oud 05-01-2002, 13:26
Koen
Avatar van Koen
Koen is offline
Citaat:
F10®!@n schreef:
ah... ik zie het...

verkeerde ' gebruikt

Hoevaak ik die fout al niet gemaakt heb, dat wil je écht niet weten
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar


Alle tijden zijn GMT +1. Het is nu 04:52.