Consultar Cep
Publicado por Hernando dos Santos Almeida 12/05/2005
[ Hits: 17.388 ]
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>
Mostra o Navegador e O OS do Usuário
Hash MD5, whois, IP para hostname e checagem de portas
IP do usuario (usando arquivo tb)
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Instalando COSMIC no Linux Mint
Turbinando o Linux Mint: o poder das Nemo Actions
Inteligência Artificial no desenvolvimento de software: quando começar a usar?
O widget do Plasma 6 Área de Notificação
[Resolvido] Algo deu errado ao abrir seu perfil
Quando vocês pararam de testar distros? (14)
Problema com som no laptop (3)
Não estou conseguindo fazer funcionar meu Postfix na versão 2.4 no Deb... (2)









