Portál AbcLinuxu, 19. listopadu 2025 04:59
/etc/rc.local (případně lze použít ještě nohup)./cesta/k/programu &
update-rc.d nebo ruční vytvoření linky./dev/shm/muj_nazev_souboru, ale mně přijde lepší si vytvořit vlastní ram-disk, vytvořit adresář např. /mnt/moje a do fstab dát řádek none /mnt/moje tmpfs defaults,size=10m 0 0#!/usr/bin/env php <php ...Spouštění pak lze připsat rovnou do /etc/inittab. V případě pádu se zajistí i nové spuštění toho scriptu.
.
.
php -r 'for($i=0;$i < 10;$i++){echo "Hallo PHP - $i\n"; sleep(1);}'
nebo
php file.phpkde v file.php dáte jen na začátek
<?php.
2,3,33,44,55,66,9,1 ,nebo i toto: 2888,3888,89,55,10,0,0.
Bash skript mám takto:
while true; do
a=`head -1 /dev/ttyUSB0 | tr "," " "`
b=($a)
U=${b[0]}
I=${b[1]}
Tkol=${b[2]}
Tzass=${b[3]}
Tzash=${b[4]}
Taku=${b[5]}
Pfv=${b[6]}
Rez=${b[7]}
Cer=${b[8]}
fi
kde do proměnné $a načtu vstup z ttyUSB0 a místo čárek vložim mezery. Proměnnou $a vložim do závorek a tím určim, že je to pole a přiřadim k proměnné $b. Dále již přiřazuji k proměnným jednotlivé položky a mohu s nimi pracovat (pořítat). Jelikož v poli jsou položky určovány čákou, mohou se měnit počet čísel v jednom poli.
V PHP načítám z ttyUSB0:
?php $data=fopen("/dev/ttyUSB0", "r");
$text=fgets($data);
echo ($text); #poznámka
fclose($data); ?
To načte celý vstup, což je vpořádku, pokud chci jen jednu položku a zadám pole: echo ($text[1]);, tak zobrazí jen jedno číslo, nebo i čárku ze vstupu ttyUSB0. Což nepotřebuji. Umí php načíst (rozdělit) do pole podle čárek...?
array_combine($keys, $textpole). Nejprve byste si nadefinoval pole klíčů (v podstatě názvy sloupců v tom csvčku čili $keys=array("Ufve", "Ifve"...) a pak ho zkusíte zkombinovat s tím, co načtete ze souboru (zdá se mi že čtete jen jeden řádek). Ohlídá vám to i počet načtených hodnot (vyhodí exception pokud nesouhlasí) a budete k tomu moct i přistupovat pomocí symbolických jmen, takže je pak otázka jestli to vůbec bude potřeba "přelévat" do proměnných. Každopádně předpokládám, že bychom se tím vyhnuli tomu problému s potenciálně nedefinovanými indexy.
$keys=array("Ufve", "Ifve", "Tkol", "Tzass", "Tzash", "Taku", "Pfve", "rez", "cer");
Potom můžete počítat rovnou s proměnnými jakožto prvky v poli:
$cele["Ufve"] + $cele["Ifve"]nebo si to převést na normální proměnné jako předtím.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.