Sei sulla pagina 1di 2

<?

php

/*
Lo script prende in input 2 file excel:

- sporco.xls (File con la lista di mail da pulire)


- sporcizia.xls (Lista di mail da togliere da sporco.xls)

I due file devono stare nella cartella dove si trova questo script.
I due file devono essere formati da un unica colonna di mail.

Lo script restituirà la lista delle mail del file sporco.xls


senza le mail contenute nel file sporcizia.xls

*/

require_once 'Excel/reader.php';
$data = new Spreadsheet_Excel_Reader();

$data->setOutputEncoding('CP1251');

// Compongo l'array delle mail da togliere


$spazzatura = array();
$spazzatura = caricaSpazzatura();

for($i=0;$i<count($spazzatura);$i++){
#echo $spazzatura[$i] . "<br/>"; //Stampa mail sporche
}

// // Apro il file da pulire


$data->read('./upload/sporco.xls');
error_reporting(E_ALL ^ E_NOTICE);

//Stampa le righe lette in una tabella


for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
for ($j = 1; $j <= $data->sheets[0]['numCols']; $j+
+) {
//Se l'elemento non è nell'array delel mal
da togliere, la stampa
if(!(in_array($data->sheets[0]['cells']
[$i][$j], $spazzatura))) {
echo $data->sheets[0]['cells'][$i]
[$j]. "&#013;";
}
}
}

svuota_cartella("upload");

// La funzione apre il file delle mail da togliere e lestituisce


l'array
function caricaSpazzatura(){
$dataSpazzatura = new Spreadsheet_Excel_Reader();
$dataSpazzatura->setOutputEncoding('CP1251');
$dataSpazzatura->read('./upload/sporcizia.xls');
error_reporting(E_ALL ^ E_NOTICE);

$listaSpazzatura = array();

for ($i = 1; $i <= $dataSpazzatura->sheets[0]['numRows'];


$i++) {
for ($j = 1; $j <= $dataSpazzatura->sheets[0]
['numCols']; $j++) {
$listaSpazzatura[] = $dataSpazzatura-
>sheets[0]['cells'][$i][$j];
}
}
return $listaSpazzatura;
}

// La funazione svuota la cartella con i file puliti


function svuota_cartella($dirpath) {
$handle = opendir($dirpath);
while (($file = readdir($handle)) !== false) {
//echo "Cancellato: " . $file . "<br/>";
@unlink($dirpath . $file);
}
closedir($handle);
}

?>

Potrebbero piacerti anche