Consultar Cep
Publicado por Hernando dos Santos Almeida 12/05/2005
[ Hits: 17.101 ]
Digite o cep e retornará o nome da rua, estado e cidade.
Bom para interagir em formulários de cadastro ou algo de tipo.
//arquivo cep.php <?php class BUSCACEP{ // propriedades var $CEP; var $UF; var $LOCALIDADE; var $LOGRADOURO; var $BAIRRO; var $ERRO; // 1 - Cep nao está cadastrado //2 - mudança no layout site correio function post_url_correios(){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://www.correios.com.br/servicos/cep/cep_cep.cfm"); curl_setopt($ch, CURLOPT_FAILONERROR, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 60); // segundos curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS,"CEP=" . $this->CEP); $result=curl_exec ($ch); curl_close ($ch); return $result; } function extract_result( $page_result){ function extract_next_field(&$dados){ $pos = strpos($dados, "<TD style=\"color:202A65\">"); $dados = substr($dados, $pos); $pos = strpos($dados, "</TD>"); $result = substr($dados, 25, $pos - 4); $dados = substr($dados, $pos); return $result; } $dados = $page_result; $pos = strpos( $dados, $this->CEP); if( !($pos > 0) ){ $this->ERRO = 2; return ""; } $dados = substr( $dados, $pos); $pos = strpos($dados, "</tr>"); $dados = substr( $dados,1, $pos); // Pegar Estado $this->UF = extract_next_field($dados); // Pegar Localidade $this->LOCALIDADE = extract_next_field($dados); //Pegar logradouro $this->LOGRADOURO = extract_next_field($dados); //Pegar Bairro $this->BAIRRO = extract_next_field($dados); } //constructor function BUSCACEP( $cep ){ if(!empty($cep) ){ $this->CEP = $cep; $page_result = $this->post_url_correios(); $pos = strpos( $page_result, "não está cadastrado"); if($pos > 0){ $this->ERRO = 1; } else { $this->extract_result( $page_result ); } } } }; ?> //Arquivo consulta_cep.php <? include "cep.php"; $DADOS_CEP = new BUSCACEP($cep); ?> <html> <head> <title></title> <meta name="Description" content=""> <meta name="Keywords" content=""> <meta name="Author" content="Theofilo Brito"> <meta name="Generator" content="AceHTML 4 Pro"> </head> <body> <? if(empty($cep) ){ echo "digite: " .$host . "?cep=15500-000"; } if( $DADOS_CEP->ERRO == 1) { echo "CEP naum cadastrado"; } ?> <table border="1"> <tr> <td>CEP: <? echo $DADOS_CEP->CEP; ?></td> </tr> <tr> <td>UF: <? echo $DADOS_CEP->UF; ?></td> </tr> <tr> <td>Localidade: <? echo $DADOS_CEP->LOCALIDADE; ?></td> </tr> <tr> <td>Logradouro: <? echo $DADOS_CEP->LOGRADOURO; ?></td> </tr> <tr> <td>Bairro: <? echo $DADOS_CEP->BAIRRO; ?></td> </tr> </table> </body> </html>
RandomBanner - Classe para mostrar banner aleatório em imagem ou flash
Redimensionando imagens com PHP
Paginação com qualidade em PHP
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Como dividir duas janelas igualmente e lado-a-lado na sua tela
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Quero reviver um computador antigo mas tive problemas (12)
como funciona endereçamento ip? (6)