Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
https://www.php.net/manual/en/function.sprintf.php
pme 11.12.2020 19:59
pme
Já když to upravím takto ten řádek vyznačený v příloze tak se to nevykoná kde je chyba? díky
Víťa 22.12.2020 13:06
Víťa
Daj sem výpis iba toho, čo Ti z toho leze: <?php $username = $_GET['username']; echo $username; be…
pme 22.12.2020 18:29
pme
Je lepšie ladiť pomocou var_dump($username); či print_r($username); čo vypíše neskonvertovaný ob…
haseimpfeffer 22.12.2020 22:04
haseimpfeffer
Vracím se tomu Tento řetězec mi posílá ESP8266 na sever 22.623.46-59 což je 22.62 teplota 3.46 getVc…
Víťa 25.12.2020 18:18
Víťa
Ach jo. Ale abys tu napsal, jak vypadají surová data při té chybné variantě, to ne.
Wikan 25.12.2020 18:24
Wikan
surová data 5.813.46-58 výpis 05.813C, .46-Volt, 58dB 19:27:03 25/12/20 <?php $username = $_GET['us…
Víťa 25.12.2020 19:30
Víťa
Tak to bych asi řešil spíš regulárním výrazem, než parsováním po pevných blocích: (\d+\.\d{2})(\d+\…
Wikan 25.12.2020 19:39
Wikan
To je pro mně "španělská vesnice ":-) já dělám někde chybu v nastavování pozic a délce jednotlivých… nový
Víťa 25.12.2020 19:48
Víťa
Tak to je snad vidět na první pohled, že ty údaje nemají fixní délku. A jak to upravit? No můžeš tře… nový
Wikan 25.12.2020 19:50
Wikan
Ale jak doplním o tu "0" na základě zjištění 9.00 tak to přece je stejný počet míst na rozdělení do… nový
Víťa 25.12.2020 19:57
Víťa
Jenže to bys tu nulu musel přidat, ještě než to rozřežeš na části. Jakmile ji přidáš k už (špatně) r… nový
Wikan 25.12.2020 20:05
Wikan
Tak co mi radíš ?:-/ díky nový
Víťa 25.12.2020 20:12
Víťa
Použít regulární výraz. nový
Wikan 25.12.2020 20:13
Wikan
Jak se to dělá ?:-[ díky nový
Víťa 25.12.2020 20:17
Víťa
preg_match('/(\d+\.\d{2})(\d+\.\d{2})(-\d+)/', $sez, $matches); $tep=$matches[1]; $volt=$matches[2];… nový
Wikan 25.12.2020 20:29
Wikan
Jsi jednička kdyby tady byla ekomotiva ruka s palcem na horu tak ti to sem dám , nemusí tam ani podm… nový
Víťa 27.12.2020 19:39
Víťa
Tento řetězec mi posílá ESP8266 na sever 22.623.46-59 což je 22.62 teplota 3.46 getVcc -59 WiFi.RSSI… nový
pme 26.12.2020 13:54
pme
Chcel som napísať niečo v podobnom duchu. Akurát s tým rozdielom, aby tú úpravu toho čísla urobil ti… poslední
msx. 27.12.2020 20:00
msx.

surová data 5.813.46-58
výpis 05.813C, .46-Volt, 58dB 19:27:03 25/12/20
<?php
$username = $_GET['username']; //make sure you filter these values, before showing them
echo $username; //$username == "john"

$sez = $username;
$tep=substr($sez,0,5);
if (strlen($tep)== 5) {$tep="0".$tep;}
$volt=substr($sez,5,4);
$db=substr($sez,9,4);
$dev=$tep."C, ".$volt."Volt, ".$db."dB ";
$datum = date("H:i:s d/m/y");
//if (time() - filemtime("./IP/zap.txt") > 1200){
$relace = fopen("./IP/zap.txt", "a+"); // Otevřeme soubor
fwrite($relace,$dev );
//fwrite($relace," C ");
fwrite($relace,$datum);
fwrite($relace,"\r\n"); // Zapíšeme text do souboru
fclose($relace);

kde dělám chybu? díky

Tento řetězec mi posílá ESP8266 na sever
22.623.46-59
což je 22.62 teplota
3.46 getVcc
-59 WiFi.RSSI()

na ktorej pozícii je teplota, napätie...vieš len Ty...

Uprav si zdrojový kód v ESP8266 tak, aby tie data posielal oddelené napr. čiarkou, (alebo iným znakom):
22.62, 3.46, -59

keď následne na serveri "vyseparuješ" všetky reťazce, oddelené čiarkou, vyhneš sa všetkým nepríjemnostiam a budeš dostávať vždy takú hodnotu, ktorú potrebuješ pre konkrétny údaj...

Zpět do poradny Odpovědět na původní otázku Nahoru