• Opret dig
  • Glemt adgangskode

User account menu

  • Artikler
  • Forside
  • Forum
  • Nyheder
  • Log ind
Hjem
LinuxIN.dk

Snak med

Opret dig!

Af *klonk* | 02.03.2018 17:36

php exec() linjeskift i kommandoen

Programmering
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.
  • Log ind eller opret dig for at tilføje kommentarer

Kommentarer6

# 1

7 år 8 måneder siden

Permalink

Indsendt af marlar den 3. marts 2018 kl. 01:14

Permalink

Der er mange måder. Her er

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");


  • Log ind eller opret dig for at tilføje kommentarer

# 2

7 år 8 måneder siden

Permalink

Indsendt af *klonk* den 3. marts 2018 kl. 09:49

Permalink

Super, tak :) Hvilke

#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 :)
  • Log ind eller opret dig for at tilføje kommentarer

# 3

7 år 8 måneder siden

Permalink

Indsendt af frogmaster den 3. marts 2018 kl. 22:07

Permalink

#2
Jeg synes det er fedt du

#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+ma&aqs=chrome.3.69i57j…
  • Log ind eller opret dig for at tilføje kommentarer

# 4

7 år 8 måneder siden

Permalink

Indsendt af *klonk* den 5. marts 2018 kl. 17:56

Permalink

#3 Det er jo den eneste

#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 :)
  • Log ind eller opret dig for at tilføje kommentarer

# 5

7 år 7 måneder siden

Permalink

Indsendt af marlar den 8. marts 2018 kl. 19:12

Permalink

Hvilke andre metoder

#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 = << 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);

  • Log ind eller opret dig for at tilføje kommentarer

# 6

7 år 7 måneder siden

Permalink

Indsendt af *klonk* den 24. marts 2018 kl. 07:39

Permalink

#5
Hov, jeg glemte helt at

#5

Hov, jeg glemte helt at sige tak for svaret :)

Mvh
  • Log ind eller opret dig for at tilføje kommentarer

Svar søges

Østrigsk ministerium smider Microsoft ud til fordel for Nextcloud 0
Internettet er ved at dø. Vi kan stadig stoppe det 0
Tid til at lære noget igen 0
TPM 2 0
BigLinux 0

Seneste aktivitet

Brug carburetor til at forblive usynlig online 8
Sådan konfigurerer du flatpaks' flathub til verified only 9
Plasma tapet-skifter 3
How to upgrade to LMDE 7 4
Virksomheder og enheder der kører på Linux 11
NordVPN har udgivet kildekoden til sin grafiske brugergrænseflade 2
Flere og flere bruger Brave browseren 1
LibreOffice og Collabora: Hvorfor er de ikke i skolerne i stedet for Word og Google Docs? 11
Firewall igen 5
Værdien ved open source 2
Sailfish på android telefon 1
Ladybird Browser 7
Satiriske ordspil 3
Kan ikke boote på installation 26
Tilføj signatur til Evolution mail 2
LUKS kryptering - Er der andre der bruger det 15
Dansk distro til software udviklere 2
Linux Debian 5
Brother printer installation 2
Den er go 6

© 2025 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !