Larback - Retornando conhecimento

Ajude a manter este site. Estude.

Pesquisando CEP em PHP

Abaixo um exemplo bem simples para quem quer disponibilizar a consulta de cep em seu sistema PHP. O código abaixo utiliza um webservice de terceiro e portanto, depende da boa vontade desse webservice para funcionar, a solução ideal seria comprar o banco de dados nos correios... (solução ideal pra quem?) Qualquer dúvida no código, só perguntar que eu respondo. Abraços
<form method=get action=index.php>
Digite o CEP<input type='text' name='txtCEP'>
<br />
<input type='submit' value='Pesquisar' name='cmdPesquisar'>

<?php 
if (isset($_GET['cmdPesquisar'])) {
/*
 *	Função de busca de Endereço pelo CEP
 *	-	Utilizando WebService de CEP da republicavirtual.com.br
 */
function busca_cep($cep){
	$resultado = @file_get_contents('http://republicavirtual.com.br/web_cep.php?cep='.urlencode($cep).'&formato=query_string');
	if(!$resultado){
		$resultado = "&resultado=0&resultado_txt=erro+ao+buscar+cep";
	}
	parse_str($resultado, $retorno); 
	return $retorno;
}


/*
 * Exemplo de utilização 
 */

$resultado_busca = busca_cep($_GET['txtCEP']);

echo "<pre> Array Retornada:
 ".print_r($resultado_busca, true)."</pre>";

switch($resultado_busca['resultado']){
	case '2':
		$texto = "
	Cidade com logradouro único
	<b>Cidade: </b> ".$resultado_busca['cidade']."
	<b>UF: </b> ".$resultado_busca['uf']."
		";	
	break;
	
	case '1':
		$texto = "
	Cidade com logradouro completo
	<b>Tipo de Logradouro: </b> ".$resultado_busca['tipo_logradouro']."
	<b>Logradouro: </b> ".$resultado_busca['logradouro']."
	<b>Bairro: </b> ".$resultado_busca['bairro']."
	<b>Cidade: </b> ".$resultado_busca['cidade']."
	<b>UF: </b> ".$resultado_busca['uf']."
		";
	break;
	
	default:
		$texto = "Fala ao buscar cep: ".$resultado_busca['resultado'];
	break;
}

echo $texto;
}
?>