webForumDet fria alternativet
Logga in / Bli medlem

skicka värden till exekverade program

PHP

6 svar · 180 visningar · startad av Lfe

Medlem sedan juni 200145 inlägg
Frågan#1

säg att jag kör en exec('adduser');

om jag kör den från promten så kommer jag ju få querys där jag ska svara på username, realname osv osv
hur kan jag via PHPscript skicka värden?

jag vet hur man får det som skrivs ut, men inte hur man skickar in..

mvh

Medlem sedan juni 20008 205 inlägg
#2

Hmm. Du kan (kanske) göra så här, om det är en begränsad mängd text det rör sig om...

$txt = EscapeShellCmd($txt);
exec("echo $txt | adduser");

Då kommer adduser's stdin läsa från echo's stdout. Eller funkar inte piping så här, kanske?

Medlem sedan juni 200145 inlägg
#3

jag kan tänka mig att det som du säger, funkar till en viss del, men om vi nu fortsätter på "adduser" exemplet så kräver den ju många inputs , och vissa fylls kanske inte i..

jag söker en kraftigare lösning..

det måste väl finnas?!? :)

Medlem sedan apr. 20007 588 inlägg
#4

Det absolut enklaste är ju om du först hämtar in de värden som skall användas från användaren via ett vanligt html-formulär. Sen anropar du adduser med dessa värden, t.ex:

exec("adduser $username -c \"$name\"");

Där $username och $name alltså kommer från ett formulär.

Medlem sedan juni 200145 inlägg
#5

jepp, men som sagt, adduser är bara ett exempel, säg att jag vill exekvera ett program som inte har några options..

mvh

Medlem sedan juni 20008 205 inlägg
#6

Alltså... måste du göra så här? Det här är plågsamt likt cgi-programmering i UNIX-shell. Om du kan, gör det inte...

Medlem sedan juni 200145 inlägg
#7

jo jag vet att det är rätt klurigt, men jag gillar inte att blanda massa språk.. försöker hålla mig till php eftersom det främst rör sig om webbrelaterade tjänster..

jaja jag får väl lösa det på ett annat sätt..

tack för hjälpen

259 ms totalt · 4 externa anrop · v20260731065814-full.1b2494f0
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)