Newsgroup: it.comp.www.php
Titolo: errore su lettura file

Ciao a tutti ragazzi,
ancora vi chiedo un piccolo aiuto. Sto realizzando uno script che legga il 
contenuto di un file che ha come delimitarori il simbolo ";" e come 
interruzione di riga l'invio. Il contenuto del file cosě come aperto in 
formato txt č il seguente:
a;b;c;d
22;23;24;25
22;23;24;25
22;23;24;25
22;23;24;25
dove a,b,c e d sono i campi di intestazione di una ipotetica colonna, i 
campi sottostanti le righe della suddetta tabella.
per scrivere dunque questo file in una tabella di mysql, ho scritto il 
seguente codice:
<?php
if (!file_exists("httpdocs/file_caricati/2006-08-03-Cartel3.txt"))
{
 echo "il file esiste !!!";
        $lines = file("httpdocs/file_caricati/2006-08-03-Cartel3.txt");
        foreach ($lines as $line_num => $line) { echo "Line 
#<b>{$line_num}</b>";}
}
else
{
echo "il fine non esiste";
}
?>
in buona sostanza il codice dovrebbe leggere il file ed assegnare lo stesso 
ad un array rappresentato dalla variavile "$lines". Preso il file dovrebbe 
eseguire il foreach intanto per scorrere tutto l'array e stampare a video 
(questo mi serve per controllare se funziona) il risultato della lettura 
dell'array.
Il problema č che eseguito, il codice mi dice solamente che il file esiste 
!! Quindi lo trova.
Dove sbaglio ?
Vi ringrazio e resto in attesa di un vostro aiuto !
gianluca 

 gianluca
Ciao,guarda che il ! e' una negazione, toglilo.
Ivan

 ha scritto nel messaggio 
news:1154602813....@75g2000cwc.googlegroups.com...


Actarus.74 ha scritto:

Che messaggio di errore ti da?
Attenzione al percorso relativo che stai usando, prova ad usare il
percorso assoluto.
Ivan

 ha scritto nel messaggio 
news:1154605221....@m79g2000cwm.googlegroups.com...


 ha scritto nel messaggio 
news:1154605221....@m79g2000cwm.googlegroups.com...


 ha scritto nel messaggio 
news:1154605221....@m79g2000cwm.googlegroups.com...


 ha scritto nel messaggio 
news:1154605221....@m79g2000cwm.googlegroups.com...


 dopo in una cella della tabella di mysql.
Per questo ti tornerà utile la funzione explode():
http://www.php.net/explode
Ciao.
-- 
Federico

 Adesso la situazione č un pň piů chiara.
Potresti gentilmente imparare a quotare?
http://wiki.news.nic.it/QuotarBene
Grazie. :-)
Tristan

 }
Cambialo in:
foreach ($lines as $line_num => $line) {
    echo 'Line #<b>' . ($line_num+1) . '</b>: '.
         $line . '<br />';
}
per ogni ciclo eseguito, $line_num conterrà il numero di riga (diminuito
di uno) e $line la linea associata.
Ciao,
Tristan

 ...
Ops, aveva già risposto Federico.
Sorry. 8-)
Tristan

Grazie mille Tristan per i preziosi suggerimenti.
Finalmente sono riuscito a far eseguire quello ceh volevo al codice con il 
seguente script:
<?php
if (file_exists("file_caricati/2006-08-03-cartel3.txt"))
 {
 echo "il file esiste !!!<br><br>";
 $lines = file("file_caricati/2006-08-03-cartel3.txt");
 // Loop through our array, show HTML source as HTML source; and line 
numbers too.
 foreach ($lines as $line_num => $line)
  {
  $host = 'localhost';
  $user = 'pointcard';
  $password = 'gianluca';
  $database = 'Pointcard';
  $db = mysql_connect($host, $user, $password) or die("impossibile 
connettersi al server $host");
  mysql_select_db($database, $db) or die("impossibile connettersi al 
database");
  $query = "insert into agente" . "(nome, iva_codfis, citta, 
provincia)"."VALUES('$line', '$line', '$line', '$line')";
   if (!mysql_query($query,$db))
   {
   print("attenzione, impossibile inserire il dato");
   }
   else
   {
   print("il record è stato inserito");
   }
  mysql_close($db);
  }
 }
 else
 {
 echo "il fine non esiste";
 }
Ora la piccola difficoltà è che mi salva i dati al contrario cioè la prima 
riga del file diventa l'ultima salvata del database. Perchè secondo te? Ti 
ringrazio per le preziose informazioni e attendo con ansia i tuoi 
suggerimenti.
Gianluca 

 suggerimenti.
Un database non ha ordinamento, salva i dati come si trova meglio.
Devi ordinarli tu durante la select con la clausola "order by", se hai
previsto un campo su cui ordinare.
Quello che non capisco e` perche` metti un file in un DB se poi ti serve
tutto e in un certo ordine. Tanto vale tenerlo su file, e` meno pesante.
Bye.
-- 
Alessandro Pellizzari

 ha scritto nel messaggio 
news:1154616663.4940.5.camel@alex...


 ansia i tuoi suggerimenti.
Non c'è bisogno di adulare. ;P
Ciao,
Tristan