Hejsa
Som udgangspunkt, har jeg meget, meget lidt erfaring med php / programmering generelt, så det skal lige huskes :)
Jeg vil gerne bruge php's exec() til at køre en kommando på systemet.
Det virker også, men kommandoen vil ende med at blive temmelig lang og uoverskuelig, hvis ikke den formateres lidt.
Det kan jeg bare ikke finde ud af inden i en 'exec()' !
I et bash script, som jeg egentlig troede var det format 'exex' sender, bryder man jo linjer med en '\'
#!bin/bash
langkommando der skal \
brydes op
Kommandoen jeg gerne vil bryde op, er følgende:
exec("rrdtool graph /var/www/html/testgraf.png -h 400 -w 1000 -D --slope-mode --start -720 --end now --color BACK#ecf0f1 --color MGRID#80808000 --color GRID#80808000 DEF:net3=$rrd:value:AVERAGE LINE1:net3#3498db ");
..men sætter jeg et '\' ind, så ser exec det som to kommandoer.
Svaret er garanteret helt indlysende, men jeg mangler erfaring :)
På forhånd tak.
05-12-2009
Der er mange måder. Her er en:
exec("rrdtool graph /var/www/html/testgraf.png -h 400 -w 1000 -D --slope-mode " .
"--start -720 --end now --color BACK#ecf0f1 --color MGRID#80808000 ".
"--color GRID#80808000 DEF:net3=$rrd:value:AVERAGE LINE1:net3#3498db");
31-01-2004
#1:
Super, tak :) Hvilke andre metoder findes der?
Hold da op, jeg er glad for jeg ikke programmerer til daglig. Jagten på korrekt formattering var da lige ved, at drive mig til vanvid :)
20-05-2010
#2
Jeg synes det er fedt du prøver uden først at spørge andre. Det er lidt forudsætning for at lære nyt. Det er også ualmindelig svært at være autodidakt og derfor altid nødvendigt at opsøge dokumentation.
Måske vil det hjælpe at kikke i PhP manualer?
https://www.google.dk/search?q=php+manual&oq=php+m...
31-01-2004
#3 Det er jo den eneste måde jeg får systemet op at køre, for der er ikke andre til at ordne det :)
Problemet med at springe i, i den mellemdybe ende er, at jeg ikke hver gang kan starte med at læse en guide for begyndere for hvert sprog osv. der bruges.
At bash, python, html, php, JS og hvad der ellers indgår i denne pærevælling, så har hver sin måde (som alligevel næsten er ens) at terminere linjer, delklarere variabler osv., gør bare at jeg fra tid til anden er ved at springe i luften :)
05-12-2009
#2: Hvilke andre metoder findes der?
En god løsning er heredoc. Med det kan man angive en stor tekstmængde som spænder over flere linjer og som også evaluerer variabler som $rrd i dit tilfælde.
$cmd = <<<eod
rrdtool graph /var/www/html/testgraf.png -h 400 -w 1000 -D --slope-mode \
--start -720 --end now --color BACK#ecf0f1 --color MGRID#80808000 \
--color GRID#80808000 DEF:net3=$rrd:value:AVERAGE LINE1:net3#3498db \
eod;
exec($cmd);
31-01-2004
#5
Hov, jeg glemte helt at sige tak for svaret :)
Mvh