Sari la conținut
Forum Roportal
flobeats

Citire fisier linie cu linie

Evaluează acest topic

Postări Recomandate

Vreau sa fac o pagina demo in care sa simulez citirea temperaturii din o camera. Eu vreau sa fac aceasta citire din un fisier. In fisierul respectiv scriu datele manual:

18 grade celsius sau doar 18

19

20

18

20 ..etc

 

As vrea sa afisez aceste date pe rand in pagina la un anumit interval de timp.Prima data 18, dupa 30 sec 19, dupa 30 sec, 20, s.a.m.d.

Am un script care imi da o eroare de sintaxa, si care sper sa am ajute in problema asta:Parse error: syntax error, unexpected T_VARIABLE in C:\xampp\htdocs\licenta\mysql1.php on line 3

 

 

<?php

session_start();

if( (!isset($_SESSION['cnt']) $_SESSION['cnt'] = 0) );

$file = file_get_contents('fisier.txt');

$file = explode("\n",$file);

if( $_SESSION['cnt'] >= count($file) ){

$val = 'S-a citit ultima valoare';

} else {

$val = trim($file[$_SESSION['cnt']);

$_SESSION['cnt']++;

}

 

Multumesc

Partajează acest post


Link spre post
Distribuie pe alte site-uri

Incearca

 

if (!isset($_SESSION['cnt'])) $_SESSION['cnt'] = 0;

 

Mai sunt si alte greseli de sintaxa, verifica parantezele. Pentru o citire mai usoara aliniaza codul frumos si foloseste-te de spatii; sunt mai usor de identificat erorile daca respecti anumite reguli de codare..

 

<?php
session_start();
if (!isset($_SESSION['cnt'])) $_SESSION['cnt'] = 0;
$file = file_get_contents('fisier.txt');
$file = explode("\n", $file);
if ($_SESSION['cnt'] >= count($file))
{
 $val = 'S-a citit ultima valoare';
} 
else 
{
 $val = trim($file[$_SESSION['cnt']]);
 $_SESSION['cnt']++;
}

Editat de Argv

Partajează acest post


Link spre post
Distribuie pe alte site-uri
Mai sunt si alte greseli de sintaxa, verifica parantezele. Pentru o citire mai usoara aliniaza codul frumos si foloseste-te de spatii; sunt mai usor de identificat erorile daca respecti anumite reguli de codare..

[

Multumesc, ai dreptate..dar avand in vedere ca am vazut cod php pt prima data in viata mea acum 2 saptamani, trebuie sa ma intelegi :P

Partajează acest post


Link spre post
Distribuie pe alte site-uri

<?php

session_start();

if (!isset ( $_SESSION ['cnt'])) $_SESSION ['cnt'] = 0;

$file = file_get_contents ('fisier.txt');

$file = explode ("\n",$file);

if( $_SESSION ['cnt'] >= count ($file) )

{

$val = 'Readed';

}

else

{

$val = trim ($file ($_SESSION['cnt']));

$_SESSION ['cnt']++;

}

Codul meu arata asa acum, dar tot primesc o eroare la linia bolduita: Fatal error: Function name must be a string in C:\xampp\htdocs\licenta\mysql1.php on line 12.

Multumesc. :jester:

Partajează acest post


Link spre post
Distribuie pe alte site-uri

<?php

session_start();

if (!isset ( $_SESSION ['cnt'])) $_SESSION ['cnt'] = 0;

$file = file_get_contents ('fisier.txt');

$file = explode ("\n",$file);

if( $_SESSION ['cnt'] >= count ($file) )

{

$val = 'Readed';

}

else

{

$val = $file[$_SESSION['cnt']];

$_SESSION ['cnt']++;

echo $val;

}

Am scos trim din linie, mi a aratat ultimele 3 valori din fisier, apoi nu mi a mai aratat nimic

nu imi da nici o eroare, dar nici nu face nimic.

Nu stiu ce sa i fac.

Pls help.

Mersi.

Partajează acest post


Link spre post
Distribuie pe alte site-uri

Ar trebui sa modifici asa:

 

if( $_SESSION ['cnt'] >= count ($file) )

{

$val = 'Readed';

}

else

{

$val = $file[$_SESSION['cnt']];

$_SESSION ['cnt']++;

echo $val;

}

 

echo $val;

Partajează acest post


Link spre post
Distribuie pe alte site-uri

Asta este codul:

 

<html>

 

<head>

<meta http-equiv="refresh" content="10" />

</head>

 

<body>

 

 

<?php

session_start();

if (!isset ( $_SESSION ['cnt'])) $_SESSION ['cnt'] = 0;

$file = file_get_contents ('fisier.txt');

$file = explode ("\n",$file);

if( $_SESSION ['cnt'] >= count ($file) )

{

$val = 'Readed';

}

else

{

$val = (trim ($file[$_SESSION['cnt']]));

$_SESSION ['cnt']++;

 

}

?>

 

Temperatura: <?php echo $val; ?>

 

</body>

 

</html>

 

 

Daca il rulez pe server imi afiseaza prima valoare din fisier.txt "Temperatura =20" si eroarea de mai jos:

 

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\licenta\zzz.php:10) in C:\xampp\htdocs\licenta\zzz.php on line 11

Temperatura: 20

 

Daca iau doar codul php si il pun in o pag php vad ca functioneaza.

Ai idee care ar fi problema?

Multumesc.

Partajează acest post


Link spre post
Distribuie pe alte site-uri

N-am lucrat de mult cu php si web, dar incearca sa modifici sa faci SessionStart inainte de <head> sau chiar inainte de <html>... Incearca ambele variante

 

<html>

 

<?php

session_start();

?>

 

<head>

<meta http-equiv="refresh" content="10" />

</head>

 

<body>

 

 

<?php

if (!isset ( $_SESSION ['cnt'])) $_SESSION ['cnt'] = 0;

$file = file_get_contents ('fisier.txt');

$file = explode ("\n",$file);

if( $_SESSION ['cnt'] >= count ($file) )

{

$val = 'Readed';

}

else

{

$val = (trim ($file[$_SESSION['cnt']]));

$_SESSION ['cnt']++;

 

}

?>

 

Temperatura: <?php echo $val; ?>

 

</body>

 

</html>

 

 

Pentru refresh poti folosi si functia header. De ex:

 

header('Refresh: 3; url=index.html');

Editat de Argv

Partajează acest post


Link spre post
Distribuie pe alte site-uri

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum

×