R: [Php-it] [OT] Lista Comuni e Province..

Heber D'Alberto heber-lists at dalberto.it
Wed Mar 1 16:47:31 CET 2006


--------- Messaggio Originale --------
Da: php-it at lists.ziobudda.net
Per: "php-it at lists.ziobudda.net" <php-it at lists.ziobudda.net>
Oggetto: Re: R: [Php-it] [OT] Lista Comuni e Province..
Data: 01/03/06 15:45

O meglio ancora, uno script php che download il file zip, lo scompatta e 
crea il .sql :)))

Riporto le quattro righe di codice che avevo buttato giù per recuperare i
dati da quel dannato file nel caso possa interessare a qualcuno.

<?php
 # Converte l'elenco (Localita.txt) dei cap/comuni presente sul sito delle
Poste
 # Italiane e li inserisce all'interno della tabella comuni.
 # Infine crea il file elenco.txt che conterrà le query pulite con i dati

 require_once("DB.php");
 $dsn= "mysql://utente:password@localhost/cap";

 $file=fopen("Localita.txt", "r");
 for ($i=0; !feof($file); $i++)
  {
   $buffer[$i]=fgets($file, 130);
  }
 fclose($file);
 for ($i=0, $j=0; $j<=count($buffer); $i++)
  {
   $righe[$i]=$buffer[$j];
   $j=$j+2;
  }

 $db=DB::connect($dsn);
 if (DB::iserror($db))
  { echo $error=$db->getMessage();
    exit;
  }
 $elenco="";
 for ($i=0; $i<count($righe)-1; $i++)
  {
   $cap=substr($righe[$i], 4, 5);
   $prov=substr($righe[$i], 0, 2);
   $spazi=strpos($righe[$i], "  ", 11);
   $comune=substr($righe[$i], 11, ($spazi-1)-10);
   $comune=addslashes($comune);
   $query='INSERT INTO comuni (comune, cap, provincia) '.
          'VALUES ("'.$comune.'", "'.$cap.'", "'.$prov.'")';
   $elenco.=$query."\n";
   $result=$db->query($query);
   if (DB::iserror($result))
    {
     echo $error=$result->getMessage();
     exit;
    }
  }
 $db->disconnect();

 $file=fopen("elenco.txt", "w");
 fwrite($file, $elenco);
 fclose($file);
?>


Heber D'Alberto


More information about the Php-it mailing list