• 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 6 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 6 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 6 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 6 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 6 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 5 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

Opfindelser skabt af OpenBSD-projektet 0
KDEs virtuelle maskinhåndtering skrider fremad 0
Sådan konfigurerer du flatpaks' flathub til verified only 0
Den er go 0
14. februar = I Love Free Software Day 0

Seneste aktivitet

Skal vi være nervøse? 19
Pepsi Challenge 17
LibreOffice Skolen 2
Tid til forandring 7
AI kommer til Linux kernen 3
RapidRAW 3
Så er google igen blivet fanget i at snuse 1
Debian Trixie til boomerne 17
Overvåg dit webstedets oppetid og ydeevne fra din terminal 1
Darktable 6
XIVA Studio 1
Kubuntu Focus Zr GEN 1: Linux første højtydende mobil arbejdsstation 2
VpN men hvilken 25
Linux i fremgang 25
wifi ikke virker 7
Mest sikker webbrowser 10
32 år med Slackware 7
Ubuntu touch 7
PCLinuxOS (nyt om dansk sprog) 42
Virtuel maskine? 9

© 2025 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !