Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    69

    leggere da file di testo

    Salve a tutti, devo necessariamente risolvere un problemino ma non riesco a venirne a capo. Dunque ho un file di testo (simile csv) così composto

    campo1|campo2|campo3|campo4|£££

    In pratica i campi sono divisi dal | e le righe dalla serie di caratteri £££.

    Dovrei fare in modo che il contenuto di questo file sia inserito in un db mysql.
    Per iniziare ho usato questo script per vedere se riuscivo a leggere correttamente il file

    codice:
    <?php  $fd= fopen ("esportaprodotti.txt", "r"); 
     while (!feof ($fd)) {        
    $riga=fgets($fd, 4096);      
     if($riga!="")      
     {                    
    $arr=split('\|', $riga);  
    print "$arr[0]";                    
    print "$arr[1]";                    
    print "$arr[2]";                    
    print "$arr[3]";  
             } }  
    fclose($fd); ?>
    fin qui sembra tutto ok, mi stampa tutto. Il problema sorge per quanto riguarda l'inserimento nel db. Ho creato in locale una tabella contenente 4 campi, ma non riesco in nessuna maniera ad insere i valori all'interno. Mi dareste gentilmente una mano? Ringrazio anticipatamente

    P.S

  2. #2
    E' sufficiente, dopo aver letto ogni riga, inserirla mediante una query mysql:
    Codice PHP:
    <?php
    //Leggo il file, immagazzinando i campi in un array multidimensionale
    //PS: Scusa se cambio metodo, ma non sono abituato a usare le funzioni che utilizzi tu.
    $contenuto file_get_contents("esportaprodotti.txt");
    $righe explode("£££"$contenuto);
    unset(
    $righe[count($righe)]);
    foreach (
    $righe as $id=>$riga)
    {
    $celle explode("|"$riga);
    unset(
    $celle[count($celle)]);
    $tabella[$id] = $celle;
    }
    //Ora inserisco la tabella nel database;
    //**Dati di connessione al database**
    foreach ($tabella as $riga)
    {
    mysql_query("INSERT INTO nometabella VALUES ('".implode("','"$riga).")");
    }
    Scusa per il codice un po' lungo, ma ho preferito fare le cose in modo ordinato.
    Spero di esserti stato utile!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.