Zeichen aus php Variable entfernen

  • Hallo,
    Ich habe hier mein php pogramm möchte aber bei der output Variable nur die Temperatur ausgeben. Aktuell ist die ausgbe ist momentan:
    temp=40.6'C
    (das temp= soll weg)
    [code=php]<?php
    $output = shell_exec('sudo vcgencmd measure_temp');
    echo "CPU Temperatur: "; echo $output;
    ?>[/php]
    Vielen Dank
    raspi-wetter


  • und da bin ich wieder.


    füge das zwischen $output und echo ein:
    [code=php]$Temp = substr($output, 5);[/php]


    ändere das "echo $output" durch "echo $temp"


    wie gesagt. bin kein php experte. sollte aber klappen.


    lg Foxconn11 :D

    1x Pi 4 4GB mit 256GB SSD @ 2,3Ghz8o (PC Ersatz)

    2x PI B Erste Generation (1x Pihole)

    1x PI 2 (B?) Für PV Log (VenusOS)

    2x PI 3 (1x B & 1x B+) (B only: TVHeadend Server, B+: Youtube und Fernsehen im Bett)

  • Man sollte so viel wie möglich in der aktuellen Programmiersprache umsetzen. Das ist nicht nur schöner sondern auch schneller und in diesem Fall auch sicherer da man dem www-data Benutzer keine sudo Rechte geben muss (das ist extrem unsicher).
    Desweiteren verursacht vcgencmd enorm viel CPU Last und ist zu heavy um damit nur die CPU Temperatur auf einer Webseite anzuzeigen.
    Einen Vergleich kannst du live hier sehen: http://RaspberryPI.RoXXs.org/cpu.php ... Betrachte dabei die CPU-Load und klick dann mal auf "use vcgencmd" und betrachte erneut die CPU-Load... (die Seite reloaded alle 10 sec)


    Bedeutet also:


    Entweder du willst weiterhin unbedingt unsauber programmieren und führst in PHP Konsolen Befehle aus, dann verwende am besten die virtuellen Dateien in /sys/ und zwar so:
    [code=php]exec("cat /sys/class/thermal/thermal_zone0/temp", $cputemp);[/php]


    Oder du macht das was ich im 1.Satz geschrieben habe und machst das nativ in PHP mithilfe http://php.net/manual/de/function.file-get-contents.php
    [code=php]$cputemp = file_get_contents('/sys/class/thermal/thermal_zone0/temp');[/php]


    Der Inhalt von /sys/class/thermal/thermal_zone0/temp muss dann noch durch 1000 geteilt werden um °C zu ergeben:[code=php]$cputemp = $cputemp[0] / 1000;[/php]bzw.[code=php]$cputemp = $cputemp / 1000;[/php]

  • Hallo!
    Auch an dich noch einmal ein :danke_ATDE:
    Jetzt ist nur noch die Frage wie kann ich so die Spannung die ich sonst mit
    [code=php]<?php
    $output = shell_exec('sudo vcgencmd measure_volts');
    $Volt = substr($output, 5);
    echo "Spannung: "; echo $Volt;
    ?>[/php]
    ausgeben würde ausgeben?
    Vielen Dank
    raspi-wetter

  • Hallo,
    Ich will nicht nur die Cpu temperatur sondern auch die Spannung.
    Da du meinst das man nicht zwei Pogrammiersprachen vermischen soll. So ist jetzt die Frage wie dies nur mit php machbar ist?
    Vielen Dank
    raspi-wetter