[PHP] Prelievo dati da .txt

  • Creatore Discussione Creatore Discussione anco93
  • Data di inizio Data di inizio

anco93

Nuovo Utente
21 Lug 2018
12
0
1
Salve,
ho un software che ogni minuto mi genera un realtime.txt e me lo carica in uno spazio ftp.

Ho bisogno del Vostro aiuto per il codice php che apra questo realime, mi parametizzi tutti i dati (che sono distinti tra loro da uno spazio) in maniera tale poi da prelevarli ed inserirli in una tabella che si aggiorni.

1 spazio = data
2 spazio = orario
3 ecc ecc

Avevo provato:
PHP:
<?php
$percorso_file = ('/realtime.txt'); //imposto percorso file
$file = fopen($percorso_file,rb); //apro il file
$riga = fread($file,1024); //leggo file
$valore1 = esplode('',$riga)."</br>";//elimino gli spazi vuoti....
echo $valore1[0]."</br>";//stampo data
echo $valore2[1]."</br>";//stampo ora
etc..
etc..
fclose($file)
//chiudo file
?>

per poi stampare:
<?php echo $valore1[0]?>
Ma non riesco.
Grazie del Vostro aiuto.
 
Ultima modifica:
prova così,
PHP:
<?php
$percorso_file = ('http://www.meteocloud.it/cumulus/cisternacentro/realtime.txt');
$file = fopen($percorso_file,'rb');
$riga = fread($file,1024);
fclose($file);

$valore = explode(' ',$riga);

echo $valore[0]."</br>";
echo $valore[1]."</br>";
echo $valore[2]."</br></br>";


foreach ($valore as $key => $val)
{
    echo $val."</br>";
}
?>

upload_2018-7-21_13-54-28.png
 
  • Like
Reactions: anco93
in alternativa
PHP:
$percorso_file = ('http://www.meteocloud.it/cumulus/cisternacentro/realtime.txt');
$file = fopen($percorso_file,'rb');
$riga = fread($file,1024);
fclose($file);

$valore = preg_split('/[\s]+/',$riga);

foreach ($valore as $key => $val)
{
    echo $val."</br>";
}

e se hai bisogno di togliere anche i caratteri letterali modifichi la regex in
PHP:
preg_split('/[\sa-z]+/i',$riga);

o come più ti fa comodo
 
Ultima modifica di un moderatore:
  • Like
Reactions: anco93
hai probabilmente qualcosa chce ti blocca la lettura del txt. Prova a controllare il .htaccess.
 
  • Like
Reactions: anco93
nello script che hai postato, ho corretto diversi errori di sintassi e anche nella riga che vuoi stampare ci sono errori di sintassi per cui php non esegue nulla
(mancano i punti e virgola alla chiusura dell'istruzione echo !),
prova così, inserendo la riga nello script di test che hai creato,
PHP:
$valore = explode(' ',$riga);

echo $valore[0]."<br />";
echo $valore[1]."<br />";
echo $valore[2]."<br /><br />";

echo "Dati in diretta (aggiornati alle " . $valore[1] . " del " . $valore[0] . ")<br /><br />";

foreach ($valore as $key => $val)

ps, verifica anche i "br" vanno scritti seguiti da uno spazio e dalla barra ….
 
Ultima modifica:
  • Like
Reactions: anco93
In effetti Marino51 mi hai fatto notare una cosa
Codice:
Dati in diretta (aggiornati alle <?php echo $valore[0]?> del <?php echo $valore[1]?>)
Questo non lo avevo visto... mancano i ';' negli echo

Ps Anco93 usa i bbcode per postare il codice
 
  • Like
Reactions: anco93
Applicato modifiche:
PHP:
<?php
$percorso_file = ('/realtime.txt');
$file = fopen($percorso_file,'rb');
$riga = fread($file,1024);
fclose($file);

$valore = explode(' ',$riga);

echo $valore[0]."<br />";
echo $valore[1]."<br />";
echo $valore[2]."<br /><br />";

echo "Dati in diretta (aggiornati alle " . $valore[1] . " del " . $valore[0] . ")<br /><br />";

foreach ($valore as $key => $val)
{
    echo $val."</br>";
}
?>
Ma si legge solo: Dati in diretta ... I valori non appaiono.
 
Ultima modifica:
modifica questa riga,
PHP:
$file = fopen($percorso_file,'rb') or die("non riesco a raggiungere il file");
in ogni caso questo è il risultato dello script,

upload_2018-7-21_23-19-0.png
 
  • Like
Reactions: anco93
fino a qui
PHP:
$percorso_file = ('http://www.meteocloud.it/cumulus/cisternacentro/realtime.txt');
$file = fopen($percorso_file,'rb');
$riga = fread($file,1024);
fclose($file);

$valore = explode(' ',$riga);

hai già recuperato i dati.. poi li stampi dove vuoi.
echo serve proprio a mostrare a video, non è lui a caricarti i valori
 
  • Like
Reactions: anco93
@anco93
Da regolamento del forum, come tutti noi sei tenuto ad usare il tag
code.gif
quando posti del codice, oppure la funzione codice dalla barra degli strumenti
box inserisci 2.png.JPG

Inoltre ti prego di leggere attentamente il regolamento generale del forum e quello di sezione dove posti
Grazie
Per questa volta te lo sistemo io ma mi raccomando per il futuro
 
  • Like
Reactions: anco93
Risolto.
Grazie mille per il Vostro prezioso supporto e scusatemi per qualche errore di forma.
 
Risolto.
Grazie mille per il Vostro prezioso supporto e scusatemi per qualche errore di forma.
È buona norma quando si chiede aiuto sul forum e qualcuno si presta a dare aiuto, dire come si è risolto a beneficio di altri utenti del forum con lo stesso problema
 
Beh pensavo di essere stato chiaro. Ho risolto con le correzioni al codice che mi hanno postato. C'erano errori nel PHP. Ho pertando incollato le correzioni suggerite.
:)
 
Ultima modifica:

Discussioni simili