Consultar Cep
Publicado por Hernando dos Santos Almeida 12/05/2005
[ Hits: 17.370 ]
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>
SysNoticia - Notícias para Web
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como impedir exclusão de arquivos por outros usuários no (Linux)
Cirurgia no Linux Mint em HD Externo via USB
Anúncio do meu script de Pós-Instalação do Ubuntu
Formas seguras de instalar Debian Sid (1)
Alguém executou um rm e quase mata a Pixar! (2)
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (5)
Alguém pode me indicar um designer freelancer? [RESOLVIDO] (4)
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (6)









