Consultar Cep
Publicado por Hernando dos Santos Almeida 12/05/2005
[ Hits: 17.104 ]
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>
Classe para criar menus de listas
Squid - Bloqueio e liberação de páginas em PHP
Criar entrada (menuentry) ISO no Grub
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalar o VIM 9.1 no Debian 12
Como saber o range de um IP público?
Muitas dificuldades ao instalar distro Linux em Notebook Sony Vaio PCG-6131L (VPCEA24FM)
Slackpkg+ (Slackpkg Plus) está de volta!
Como dividir duas janelas igualmente e lado-a-lado na sua tela
instalar o Linux em computadores Acer novos (6)
Ocomon 6.0.1 - Problemas ao editar configurações estendidas (5)