[PHP] verificare se un dispositivo e' online

Claudia1

Nuovo Utente
9 Giu 2015
14
0
1
Buongiorno a tutti,
premetto che conosco molto poco il PHP.
Ho delle telecamere IP installate su alcune ditte che registrano su un server remoto non il locale.
Una volta al giorno devo controllare se le Cam sono online e lo faccio in questo modo:
Sulla pagina Web digito http://(indirizzo pubblico):(numero della porta) e se vedo che la Cam risponde Inserisci Username e Password, capisco che e' online.
Volevo usare il PHP se possibile per velocizzare la cosa.
Ho scaricato alcuni esempi in PHP per fare un controllo Ping ma da quanto ho capito funziona solo in locale, allora ho provato ad usare uno script PHP per verificare se un sito e' online sostituendo L' url con indirizzo IP e numero porta , ma non funziona allego pezzi di codice che ho usato.
<?php
ini_set("default_socket_timeout","05");
set_time_limit(5);
$f=fopen("http://217.133.xx.xx:1082","r");
$r=fread($f,1000);
fclose($f);
if(strlen($r)>1) {
echo("<span class='online'>Online</span>");
}
else {
echo("<span class='offline'>Offline</span>");
}
?>

e poi questo:
$title = "Simple Server Status"; // website's title
$servers = array(
'Hotel Coluccini Cam1' => array(
'ip' => '217.133.xx.xx:1082',
/* 'port' => 1082, */
'info' => 'Hosted by The Cloud',
'purpose' => 'Web Search'
),

Potete darmi un idea di come posso fare?
Grazie anticipatamente.
 

livellacri

Utente Attivo
18 Ago 2016
108
13
18
Puoi usare cURL
PHP:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://indirizzopubblico:porta');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); 
ob_start();
curl_exec($ch);
ob_end_clean();
if (curl_error($ch)==null) {
    echo("<span class='online'>Online</span>");
}
else {
    echo("<span class='offline'>Offline</span>");
}
curl_close($ch);
?>
 

livellacri

Utente Attivo
18 Ago 2016
108
13
18
Io ho provato con la mia ipcam e funziona.
Prova questo codice e posta l'errore che viene visualizzato:
PHP:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://indirizzopubblico:porta');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
ob_start();
curl_exec($ch);
ob_end_clean();
if (curl_error($ch)==null) {
  echo("<span class='online'>Online</span>");
}
else {
  echo curl_error($ch);
}
curl_close($ch);
?>
 

livellacri

Utente Attivo
18 Ago 2016
108
13
18
Prova ad aumentare il tempo di timeout.
Sostituisci la 5ª riga con:
PHP:
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);
 

Claudia1

Nuovo Utente
9 Giu 2015
14
0
1
Niente sempre Offline a questo punto non so se il problema e' la Cam o il router
ma da remoto la raggiungo sempre.
 

livellacri

Utente Attivo
18 Ago 2016
108
13
18
Una curiosità: lo script lo esegui in locale o su un server a pagamento?
L'unico dubbio che mi viene è che l'IP del server sia nella blacklist della cam oppure che il server non permette richieste curl verso server esterni.
 

livellacri

Utente Attivo
18 Ago 2016
108
13
18
Prova ad eseguirlo in locale (installando XAMPP) oppure, se preferisci, scrivimi l'IP tramite messaggio privato e provo io.
 
Discussioni simili
Autore Titolo Forum Risposte Data
W verificare credenziali in automatico con PHP PHP 1
M [PHP] Verificare che azienda sia aperta o chiusa PHP 3
filippino Verificare se variabile di PHP è definita PHP 2
IImanuII Verificare se Javascript è attivo attraverso PHP PHP 8
D Verificare esistenza indirizzo e-mail in php PHP 2
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6
JeiMax Modifica codice php personalizzato PHP 2
G Come modificare un pdf in php PHP 1
U Link a doppio file PHP PHP 0
E PHP & jQuery PHP 8
N Passare array da php a javascript PHP 5
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
F Php e fatturazione elettronica PHP 0
P lanciare script asp (o php) da jquery Javascript 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
P Data scraping in PHP non funziona PHP 4
C Calcoli matematici in php PHP 5
F Scrivere dei dati in word con php PHP 0
D PHP leggere cartella di Windows PHP 1
I dominio aruba versione php server linux Domini 3
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1
S PHP e Mysqli PHP 0
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
M Visulizzare immagine con php PHP 8
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
G leggere file txt e stampare con php il contenuto a video PHP 7

Discussioni simili