Ciao a tutti, sto litigando con gli array: sto creando uno script che legga dei file csv e in automatico mettesse i dati letti in un array. Il problema è che questi file legati tra loro tramite un codice e, se fosse possibile, vorrei che creasse un unico array completo. Esempio:
Ho un file chiamato articoli.txt, uno chiamato disponibilita.txt e uno prezzi.txt.
articoli.txt:
codice|codiceproduttore|descbreve|immagini
54654|66655|prova prodotto|http://www.immagine.it/imm.jpg
97376|32655|altra prova prodotto|http://www.immagine.it/imm23.jpg
disponibilita.txt:
codice|quantita
54654|12
97376|28
prezzi.txt:
codice|prezzo|sconto
54654|129.98|2
97376|28.54|0
Ho fatto un primo script che leggeva i file uno alla volta e li inseriva in un DB, successivamente facevo una mega query con LEFT JOIN e univo tutto in un'altra tabella, funzionava ma il problema è la lentezza!!!
Ora sto provando con gli array (anche perchè mi serve unire i singoli file per poi esportarli in un unico file TXT) ma mi sto perdendo...
Questo è uno spezzone di codice:
Ovviamente il file viene letto e messo nell'array $data, posso vedere i singoli file con $data[0], $data[1],etc...
Come posso unirli in un unico array usando come chiave il codice???
Grazie anticipatamente.
Ignazio
Ho un file chiamato articoli.txt, uno chiamato disponibilita.txt e uno prezzi.txt.
articoli.txt:
codice|codiceproduttore|descbreve|immagini
54654|66655|prova prodotto|http://www.immagine.it/imm.jpg
97376|32655|altra prova prodotto|http://www.immagine.it/imm23.jpg
disponibilita.txt:
codice|quantita
54654|12
97376|28
prezzi.txt:
codice|prezzo|sconto
54654|129.98|2
97376|28.54|0
Ho fatto un primo script che leggeva i file uno alla volta e li inseriva in un DB, successivamente facevo una mega query con LEFT JOIN e univo tutto in un'altra tabella, funzionava ma il problema è la lentezza!!!
Ora sto provando con gli array (anche perchè mi serve unire i singoli file per poi esportarli in un unico file TXT) ma mi sto perdendo...
Questo è uno spezzone di codice:
PHP:
$dir = dirname(__FILE__)."/file/*.txt";
$count = 0;
foreach(glob($dir) as $file)
{
$fp = fopen($file,'r');
while (($data[$count] = fgetcsv($fp,0,'|')) !== FALSE)
{
print_r($data);
}
$count++;
}
Come posso unirli in un unico array usando come chiave il codice???
Grazie anticipatamente.
Ignazio