Ciao a tutti...
sto impazzendo con una cosa talmente banale da vergognarmi di scrivere... sarò fuso ma non trovo l'errore...
ho un file di testo con questo formato:
timestamp|id|msg
111111111|1|ciao
222222222|2|prova
333333333|3|ecc
la porzione di codice che legge dal file e scrive nella pagina è questo:
Codice PHP:
<?php
textfile = fopen("file.txt", "r");
while ($riga = fgets($textfile,1024) ) {
$campiriga = explode("|", $riga);
$data = date("d/m/Y", $campiriga[0]);
echo $data; //controllo
echo $campiriga[0]; //controllo
?>
<div class="messaggio">
<div class="data"><?php echo $data;?></div>
<div class="testo"><?php echo $campiriga[2];?></div>
</div>
<?php
}
?>
Non so per quale motivo ma la data della prima iterazione non viene visualizzata; l'echo $data nel div risulta vuoto eppure negli echo di controllo che ho inserito sotto l'explode, la variabile $campiriga[0] contiene correttamente anche il primo timestemp del file, ma non esegue l'operazione $data = date("d/m/Y", $campiriga[0]); per non so quale motivo!
Dalla seconda iterazione in poi invece funziona correttamente e tutti i campi sono avvalorati.
Ho notato anche che se modifico la struttura del file in questo modo:
id|timestamp|msg
ossia invertendo l'ordine di id e timestamp e quindi effettuando l'operazione di conversione su $campiriga[1] invece che su $campiriga[0], il tutto funziona correttamente... quindi il problema è proprio con il 1° campo del 1° rigo... ma perché?!