Portál AbcLinuxu, 12. května 2025 06:34
/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]} fikde 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.