vi posto tutta la pagina
Codice PHP:
<?php //apro il primo file di testo composto da data codici quantità divido i dati e creo un array con i codici if (!$v_file = fopen("../public/ordiniPlenty/TERM002.doc","r")) { echo "Spiacente, non posso aprire i files."; } else { while(!feof($v_file)) { $vecchio = fgets($v_file, 9999); $vecchio = str_replace(" "," ",$vecchio); $vecchio=explode(" ",$vecchio); $codVecchi[]=$vecchio[1]; } } //eseguo lo stesso sul secondo file if (!$n_file = fopen("../public/ordiniPlenty/TERM001.doc","r")) { echo "Spiacente, non posso aprire i files."; } else { while(!feof($n_file)) { $nuovo = fgets($n_file, 9999); $nuovo1 = str_replace(" "," ",$nuovo); $nuovo1=explode(" ",$nuovo1); $codNuovi[]=$nuovo1[1]; } } //svuoto il file di testo finale riscrivendolo con uno vuoto copy("prodotti_da_togliere.txt","../public/ordiniPlenty/prodotti_da_togliere.txt") or DIE ("impossibile copiare il file"); $var=@fopen("../public/ordiniPlenty/prodotti_da_togliere.txt","a+");//apro il file .txt (modalitÃ_ lettura/scrittura) //confronto gli array con i codici dei due file di testo per trovare quelli in comune $result = array_intersect($codVecchi, $codNuovi); $collidoppi=count($result);//conto i codici in comune $colli=count($codNuovi);//conto i codici del nuovo file di testo per contare gli articoli echo "CODICI GIÁ PRESENTI NEL VECCHIO ORDINE
"; echo "TOTALE COLLI ORDINATI: $colli
"; echo "TOTALE COLLI RI-ORDINATI: $collidoppi
"; //stampo a video l'array contenente i codici comuni ai due file foreach($result as $value){ echo "$value
"; @fwrite($var,$value."
\n");//li scrivo sul mio file di testo } fclose($n_file);//chiudo il secondo file di testo //riapro il secondo file di testo if (!$a_file = fopen("../public/ordiniPlenty/TERM002.doc","r")) { echo "Spiacente, non posso aprire i files."; } else { while(!feof($a_file)) { $ordine = fgets($a_file, 9999); $ordine = str_replace(" "," ",$ordine); $ordine=explode(" ",$ordine); $ordine1[]=$ordine;//in questo array si memorizza tutto il file di testo composto da data codice quantità } } //provo ad ottenere che per i codici comuni mi stampi le righe ottenute dal secondo file di testo con relative quantità... ma NON FUNZIONA.. foreach($ordine1 as $valore){ if(in_array($valore,$result)){ echo"trovato $valore
"; } else{ echo "non trovato $valore
"; } } fclose($v_file);//chiudo il primo file di testo fclose($a_file);//chiudo ll secondo file di testo @fclose($var);//chiudo il file .txt sul quale ho scritto i codici comuni copy("../public/ordiniPlenty/prodotti_da_togliere.txt","../public/ordiniPlenty/prodotti_da_togliere.doc") or DIE ("impossibile copiare il file");//e lo copio per renderlo scaricabile echo "<a href=\"../public/ordiniPlenty/prodotti_da_togliere.doc\">SALVA</a>";//per scaricare... ?>
i file di testo di cui parliamo sono così composti, riga d'esempio:
10-05-2010 3015458 003
10-05-2010 30055864 001
Grazie per l'aiuto.
Saluti
Enrico