Portál AbcLinuxu, 11. května 2025 10:13

Dotaz: PHP - přeposlání dat z databáze na jiný server

27.10.2017 21:40 TomTP
PHP - přeposlání dat z databáze na jiný server
Přečteno: 824×
Odpovědět | Admin
Ahoj. Prosím o radu. Potřebuji php skript který přepošle vlastní data na jiný - cizí server. Otevřu si svou databázi, vyfiltruji potřebný záznam, údaje vložím do proměnné a tyto proměnné potřebuji odeslat.

Klasickým funkční příkaz v prohlížeči je tvar např. http://ciziserver.cz/?hodnota=15

Udělal jsem to zkušebně pomocí JS kdy spuštěná stránka PHP je skriptem přesměrována na výše uvedený web (údaj "hodnota" byl dosazen z tabulky DB). To funguje OK. Ale potřebuji tento skript spustit jako curl v cronu serveru a tam už to nefunguje. Je nějaký způsob jak to poslat bez použití JS a přesměrování ..tedy přímo v PHP ? Díky za každou radu co mě posune.


Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

27.10.2017 22:41 odpoved
Rozbalit Rozbalit vše Re: PHP - přeposlání dat z databáze na jiný server
Odpovědět | | Sbalit | Link | Blokovat | Admin

Sprav to poriadne a bezpecne.

 

1) cron spusti Tvoj program

2) program vytvor v bash, php (ano v php sa daju pisat skripty, programy, atd. a la ako shell skripty)

Data posielaj ako mysql dotaz. Ak nie, tak si naprogramuj, nech data na poslanie posiela ako php skript.


3) Upload kam cez ssh

4) a cez ssh spusti program na vzdialenon servere kod kt. aplikuje zmeny.

 

A napis detailnejsie, skor jedboduchy ekcivalentny priklad, kedze trocha to zahmliecas. Co posielas? Kto prijme.



27.10.2017 23:08 TomTP
Rozbalit Rozbalit vše Re: PHP - přeposlání dat z databáze na jiný server
Přijímám si na vlastní NAS Synology (kde běží MySQL, PHP i webová služba) nějaké data z Wifi arduino modulu a pravidelně po nějakém čase potřebuju poslední záznamy poslat i na cizí veřejný logger (např. tmep.cz nebo thingspeak.cz).

V NASu mi běží cron který každou celou hodinu spustí PHP script, který porovná data podle zadaných limitů, kdy mi podlimitní a nadlimitní hodnoty posílá jako upozornění na email. To funguje. Do toho scriptu bych potřeboval nyní navíc i to výše uvedené (poslední hodnoty přeposlat dále).

Sice jsem si vše programoval dám, nicméně spíš mi jde více C++ pro Arduino jak PHP, který kromě těchto pár záležitost nikterak vážněji nepotřebuju.

Napsal jsem níže jednoduchý kód pro pochopení.

include('dbconnect.php');

$result = mysql_query("SELECT * FROM arduino_data ORDER BY TIMESTAMP DESC LIMIT 1");

while( $row = mysql_fetch_array($result) )

{

$data_hodnota = ($row["hodnota"]);

}

;

Tady bych potreboval odeslat toto (jen příklad): http://tmep.cz/?data= $data_hodnota

28.10.2017 02:11 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: PHP - přeposlání dat z databáze na jiný server
Co takhle místo MySQL použít RRDtool, který je na podobné záležitosti stavěný?
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
27.10.2017 22:41 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: PHP - přeposlání dat z databáze na jiný server
Odpovědět | | Sbalit | Link | Blokovat | Admin
Použij curl, který je součástí PHP. Pro odesílání dat nepoužívej metodu GET, ale POST.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
27.10.2017 23:09 TomTP
Rozbalit Rozbalit vše Re: PHP - přeposlání dat z databáze na jiný server
No jo, ale já fakt nevím jak ... prosím nekamenovat :-)
27.10.2017 23:25 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: PHP - přeposlání dat z databáze na jiný server
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
28.10.2017 00:05 TomTP
Rozbalit Rozbalit vše Re: PHP - přeposlání dat z databáze na jiný server
To je ono. Funguje. Díky moc!
28.10.2017 01:35 odpoved
Rozbalit Rozbalit vše Re: PHP - přeposlání dat z databáze na jiný server
Tady bych potreboval odeslat toto (jen příklad): http://tmep.cz/?data= $data_hodnotaTo je ono. Funguje. Díky moc!
Mas to, alebo Ti treba s tym poradit?
28.10.2017 12:56 TomTP
Rozbalit Rozbalit vše Re: PHP - přeposlání dat z databáze na jiný server
Jak jsem psal, funguje to :-) Bylo to hned udělané. Ještě jednou díky
29.10.2017 13:46 jiwopene | skóre: 31 | blog: Od každého trochu…
Rozbalit Rozbalit vše Re: PHP - přeposlání dat z databáze na jiný server
Odpovědět | | Sbalit | Link | Blokovat | Admin
PHP umí posílat GET požadavky s file_get_contents($adresa).

Příklad:
$url = "http://ciziserver.cz/"; // Adresa serveru
$hodnota = 15; // Hodnota

file_get_contents($url."?hodnota=".urlencode($hodnota)); // Odeslání
POST doporučuji. Na "cizím" serveru stačí místo $_GET používat $_POST. Klient (curl) se musí také náležitě upravit.
.sig virus 3.2_cz: Prosím, okopírujte tento text do vaší patičky.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.