Fischkopf hat geschrieben:
Fischkopf hat geschrieben:
OK. bin natürlich kein Hellseher da ich auf die Datei losgestürmt bin mit dem schon mal besprochenen unterschieden von :
$resultat =
system($Befehl, $retval);
zu
$resultat =
exec($Befehl, $retval);
Aber das ist ja hier das schöne man lernt nie aus, bzw. die Lehrer Lehren nie aus !

Hallo Gunter,
ich muss das Thema noch mal aufgreifen, auch mit der Gefahr das ich Euch damit auf den Sa.... gehe!
Ich habe damals diese Befehle benutz um mein ADAC Wandler mcp3008 darzustellen.
Wir hatten ja auch gestern Abend noch kurz darüber diskutiert!
Hier mein Beispiel wie es bei mir richtig funktioniert:
Anstatt $retval nutze ich $eingang spiel aber ja keine Rolle könnte auch $Fischkopf heißen.
Ich nutze $resultat nicht sondern den $eingang als Array [] da ich mehre Werte erwarte!
<?php
/** *************************************************************************
* Copyright (C) 2015 by Fischkopf Paul
*
* vorbereitung einer Klasse zur Ansteuerung eines mcp3008
*
* Erstellen einer PROGRESS BAR
*
*
* error_reporting(0);
* error_reporting(E_ALL);
* error_reporting mit dem Wert 0 schaltet alle Fehlermeldungen komplett aus, während E_ALL jede Meldung anschaltet. Man kann jedoch auch spezifisch die verschiedenen Fehlertypen an bzw. ausschalten. Um nur die Notizen auszuschalten, verwendet man E_ALL und schließt durch ^ E_NOTICE aus:
*
* error_reporting(E_ALL ^ E_NOTICE);
* Somit gibt es keine Notizen mehr, alle anderen Fehler werden aber angezeigt.
*
***************************************************************************/
error_reporting(0);
$Befehl = 'sudo /var/www/mcp3008python/read_mcp3008.py ';
$resultat =
exec($Befehl, $eingang);
function print_LoadColor_positiv($x) {
// 97 % gleich ROT
if ($x >= 97) { return "#FF0000"; }
elseif (($x >= 96) && ($x <= 97)) { return "#FF4000"; }
elseif (($x >= 91) && ($x <= 95)) { return "#FF8000"; }
elseif (($x >= 86) && ($x <= 90)) { return "#FFBF00"; }
elseif (($x >= 81) && ($x <= 85)) { return "#FFFF00"; }
elseif (($x >= 71) && ($x <= 80)) { return "#BFFF00"; }
elseif (($x >= 10) && ($x <= 70)) { return "#80FF00"; }
else { return "#00FF00"; }
}
function print_LoadColor_negativ($x) {
// kleiner 10 % gleich ROT
if ($x >= 98) { return "#00FF00"; }
elseif (($x >= 96) && ($x <= 98)) { return "#80FF00"; }
elseif (($x >= 93) && ($x <= 95)) { return "#BFFF00"; }
elseif (($x >= 89) && ($x <= 92)) { return "#FFFF00"; }
elseif (($x >= 83) && ($x <= 88)) { return "#FFBF00"; }
elseif (($x >= 79) && ($x <= 82)) { return "#FF8000"; }
elseif (($x >= 70) && ($x <= 78)) { return "#FF4000"; }
else { return "#FF0000"; }
}
# Debug
function showarray($array) {
echo "<pre>\n";
var_dump($array);
echo "\n</pre>\n";
flush();
}
?>
<style type=text/css>
BLbblabla ლ(ಠ益ಠლ)
<?php
//Pegel im Teich -->
$PBarLOAD1 = round($eingang[1]/10.2,0);
$PBarLOAD = round(($eingang[1]+70)/10.9,0);
//$PBarLOAD = round((($eingang[1]-0)/1.0),0);
echo " Pegel im Teich: ".$PBarLOAD1." %\n";
echo "<div class='progressbar'>\n";
echo " <div style='width: ".$PBarLOAD."%; background-color: ".print_LoadColor_negativ($PBarLOAD).";' id='serviceload'>\n";
echo " </div>\n";
echo "</div>\n";
echo " <hr>";
//Netz Spannung -->
BLbblabla ლ(ಠ益ಠლ)
echo "<p/>";
?>
Das sieht dann so korrekt aus mit Livedata:
Dateianhang:
$resultat=exec($Befehl, $eingang).jpg
Nun mit $resultat =
system($Befehl, $eingang);
<?php
/** *************************************************************************
* Copyright (C) 2015 by Fischkopf Paul
*
* vorbereitung einer Klasse zur Ansteuerung eines mcp3008
............ BLbblabla ლ(ಠ益ಠლ)
error_reporting(0);
$Befehl = 'sudo /var/www/mcp3008python/read_mcp3008.py ';
$resultat =
system($Befehl, $eingang);
Rest genau wie oben............ BLbblabla ლ(ಠ益ಠლ)
Auch der error_reporting(0); bleibt weiter aus der hat aber keine Einfluß auf den Befehl
systemDas sieht dann so aus mit Livedata:
Dateianhang:
$resultat=system($Befehl, $eingang).jpg
In der $eingang wird nichts abgelegt und die Ausgabe erfolgt sichtbar wie auch unter PHP-Befehle beschrieben Befehl system.
Ich hoffe ich konnte den Unterschied Befehl "system" zu "exec" deutlicher machen, zur Info.
Ich weis Gunter Du arbeitest mit dem "$resultat" aber evtl. möchtest Du mal mehre Werte ein bzw. auslesen.