Consultar Cep
Publicado por Hernando dos Santos Almeida 12/05/2005
[ Hits: 17.374 ]
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>
SERVER PARA EDITAR GRATUITAMENTE MU-ONLINE
Uma boa forma de receber dados de formulários HTML de forma rápida e fácil
Script para Integração com a Receita Federal
Como atualizar sua versão estável do Debian
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Script de montagem de chroot automatica
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (7)
De volta para o futuro - ou melhor, para o presente (parte 2) (0)









