Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

João Parnaiba

Carregar arquivos xml no PHP

Recommended Posts

Olá pessoal tenho uma conta no 000webhost subi o meu site tudo roda direitinho, mais as requisicaoes de arquivos xml no meu codigo nao estao carregando Alguém ja passou por isso sabe como resolver, o codigo ta certinho no wamp roda normal as requisições aos correios e busca de cep em outro site!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Requisições XML ou consumir um web service? Apesar de parecerem parecidos (utilizam XML), são coisas distintas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Habilita os erros no ambiente de produção.

Veja o motivo de naõ funcionar lá ué.

As vezes é alguma função que esta desabilitada na produção que na sua maquina funciona

xD

Compartilhar este post


Link para o post
Compartilhar em outros sites


vocês conhecem o 000webhost esse é o código e num tem como ver com eles é de outro pais!

deve ser função desabilitada mais quero saber de alguém que tem uma solução para esse problema!

class ConsultaFrete{

public $dados;

public function __construct(

$nCdEmpresa, //(String) Código de contrato com os correios se não tiver pode ser nulo

$sDsSenha, //(String) Senha do contrato com os correios e não tiver pode ser nulo

$sCepOrigem, //(String) CEP de Origem sem hífen Exemplo: 05311900

$sCepDestino, //(String) CEP de Destino Sem hífen Exemplo: 05311900

$nVlPeso, //(String) Peso da encomenda, incluindo sua embalagem. O peso deve ser informado em quilogramas. Se o formato for Envelope, o valor máximo permitido será 1 kg.

$nCdFormato, //(Int) Formato da encomenda (incluindo embalagem). Valores possíveis: 1, 2 ou 3: 1=>Formato caixa/pacote, 2=>Formato rolo/prisma, 3=>Envelope.

$nVlComprimento, //(Decimal) Comprimento da encomenda (incluindo embalagem), em centímetros. min 16 cm, max 105 cm Soma (C+L+A) min29 cm, max 200 cm

$nVlAltura, //(Decimal) Altura da encomenda (incluindo embalagem), em centímetros. Se o formato for envelope, informar zero (0). min 2 cm, max 105 cm

$nVlLargura, //(Decimal) Largura da encomenda (incluindo embalagem), em centímetros. min 11 cm, max 105 cm

$nCdServico, //(String) Código do serviço contratado ou serviço gratuito 40010 SEDEX Varejo, 40045 SEDEX a Cobrar Varejo, 40215 SEDEX 10 Varejo, 40290 SEDEX Hoje Varejo, 41106 PAC Varejo

$nVlDiametro, //(Decimal) Diâmetro da encomenda (incluindo embalagem), em centímetros.

$sCdMaoPropria, //(String) Indica se a encomenda será entregue com o serviço adicional mão própria. Valores possíveis: S ou N ('S' = Sim, 'N' = Não).

$nVlValorDeclarado, //(Decimal) Indica se a encomenda será entregue com o serviço adicional valor declarado. Neste campo deve ser apresentado o valor declarado desejado, em Reais.

$sCdAvisoRecebimento, //(String) Indica se a encomenda será entregue com o serviço adicional aviso de recebimento. Valores possíveis: S ou N ('S' = Sim, 'N' = Não).

$strRetorno = 'xml', //(String) Indica a forma de retorno da consulta. 'XML' = Resultado em XML, 'Popup' = Resultado em uma janela popup, '<URL>' = Resultado via post em uma página do requisitante.

$nIndicaCalculo = 3){ //(String) Tipo de informação que será retornada. Valores possíveis: 1, 2 ou 3; 1=>Só preço, 2=>Só prazo, 3=>Preço e Prazo.

$freteUrl = "http://ws.correios.com.br/calculador/CalcPrecoPrazo.aspx?nCdEmpresa=$nCdEmpresa&sDsSenha=$sDsSenha&sCepOrigem=$sCepOrigem&"

. "sCepDestino=$sCepDestino&nVlPeso=$nVlPeso&nCdFormato=$nCdFormato&nVlComprimento=$nVlComprimento&nVlAltura=$nVlAltura&"

. "nVlLargura=$nVlLargura&sCdMaoPropria=$sCdMaoPropria&nVlValorDeclarado=$nVlValorDeclarado&sCdAvisoRecebimento=$sCdAvisoRecebimento&"

. "nCdServico=$nCdServico&nVlDiametro=$nVlDiametro&StrRetorno=$strRetorno&nIndicaCalculo=$nIndicaCalculo";

$this->dados = simplexml_load_string(file_get_contents($freteUrl));

}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Habilita os erros no ambiente de produção.

Veja o motivo de naõ funcionar lá ué.

As vezes é alguma função que esta desabilitada na produção que na sua maquina funciona

xD

vocês conhecem o 000webhost esse é o código e num tem como ver com eles é de outro pais!

deve ser função desabilitada mais quero saber de alguém que tem uma solução para esse problema!

vocês conhecem o 000webhost esse é o código e num tem como ver com eles é de outro pais!
deve ser função desabilitada mais quero saber de alguém que tem uma solução para esse problema!

class ConsultaFrete{
    
    public $dados;
    public function __construct(
            $nCdEmpresa,             //(String) Código de contrato com os correios se não tiver pode ser nulo 
            $sDsSenha,               //(String) Senha do contrato com os correios e não tiver pode ser nulo 
            $sCepOrigem,             //(String) CEP de Origem sem hífen Exemplo: 05311900 
            $sCepDestino,            //(String) CEP de Destino Sem hífen Exemplo: 05311900
            $nVlPeso,                //(String) Peso  da  encomenda,  incluindo  sua  embalagem.  O peso deve ser informado em quilogramas. Se o formato for Envelope, o valor máximo permitido será 1 kg. 
            $nCdFormato,             //(Int) Formato da encomenda (incluindo embalagem). Valores possíveis: 1, 2 ou 3: 1=>Formato caixa/pacote, 2=>Formato rolo/prisma, 3=>Envelope.
            $nVlComprimento,         //(Decimal) Comprimento  da  encomenda  (incluindo  embalagem), em centímetros. min 16 cm, max 105 cm    Soma (C+L+A) min29 cm, max 200 cm
            $nVlAltura,              //(Decimal) Altura da encomenda (incluindo embalagem), em centímetros. Se o formato for envelope, informar zero (0). min 2 cm, max 105 cm
            $nVlLargura,             //(Decimal) Largura  da  encomenda  (incluindo  embalagem),  em centímetros. min 11 cm, max 105 cm
            $nCdServico,             //(String) Código do serviço contratado ou serviço gratuito 40010 SEDEX Varejo, 40045 SEDEX a Cobrar Varejo, 40215 SEDEX 10 Varejo, 40290 SEDEX Hoje Varejo, 41106 PAC Varejo
            $nVlDiametro,            //(Decimal) Diâmetro  da  encomenda  (incluindo  embalagem), em centímetros.
            $sCdMaoPropria,          //(String) Indica  se  a  encomenda  será  entregue  com  o  serviço adicional mão própria. Valores possíveis: S ou N ('S' = Sim, 'N' = Não).
            $nVlValorDeclarado,      //(Decimal) Indica  se  a  encomenda  será  entregue  com  o  serviço adicional  valor  declarado.  Neste  campo deve ser apresentado o valor declarado desejado, em Reais.
            $sCdAvisoRecebimento,    //(String) Indica se a encomenda será entregue com o serviço adicional aviso de recebimento. Valores possíveis: S ou N ('S' = Sim, 'N' = Não).
            $strRetorno     = 'xml', //(String) Indica a forma de retorno da consulta. 'XML' = Resultado em XML, 'Popup' = Resultado em uma janela popup, '<URL>' = Resultado  via  post  em  uma  página  do requisitante.
            $nIndicaCalculo = 3){    //(String) Tipo de informação que será retornada. Valores possíveis: 1, 2 ou 3; 1=>Só preço, 2=>Só prazo, 3=>Preço e Prazo.
            
        $freteUrl = "http://ws.correios.com.br/calculador/CalcPrecoPrazo.aspx?nCdEmpresa=$nCdEmpresa&sDsSenha=$sDsSenha&sCepOrigem=$sCepOrigem&"
                . "sCepDestino=$sCepDestino&nVlPeso=$nVlPeso&nCdFormato=$nCdFormato&nVlComprimento=$nVlComprimento&nVlAltura=$nVlAltura&"
                . "nVlLargura=$nVlLargura&sCdMaoPropria=$sCdMaoPropria&nVlValorDeclarado=$nVlValorDeclarado&sCdAvisoRecebimento=$sCdAvisoRecebimento&"
                . "nCdServico=$nCdServico&nVlDiametro=$nVlDiametro&StrRetorno=$strRetorno&nIndicaCalculo=$nIndicaCalculo";
    
        $this->dados = simplexml_load_string(file_get_contents($freteUrl));
    
    }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para o file_get_contents funcionar o allow_url_fopen deve estar ativo, por via de regra não está, neste caso o caminho mais curto é usar cURL.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para o file_get_contents funcionar o allow_url_fopen deve estar ativo, por via de regra não está, neste caso o caminho mais curto é usar cURL.

Mas eu tenho outra função também que não esta funcionando no servidor do 000webhost é essa aqui o que você acha!

function get_endereco($cep){
    
    if($cep != NULL){
        $cep = preg_replace("/[^0-9]/", "", $cep); // formatar o cep removendo caracteres nao numericos
        $url = "http://viacep.com.br/ws/$cep/xml/";
        $xml = @simplexml_load_file($url);
        return $xml;
     } 
     
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas eu tenho outra função também que não esta funcionando no servidor do 000webhost é essa aqui o que você acha!

function get_endereco($cep){
    
    if($cep != NULL){
        $cep = preg_replace("/[^0-9]/", "", $cep); // formatar o cep removendo caracteres nao numericos
        $url = "http://viacep.com.br/ws/$cep/xml/";
        $xml = @simplexml_load_file($url);
        return $xml;
     } 
     
}

E a sua outra função usa... file_get_contents para requisitar a informação... ative todos os erros, remove os @ e veja o que o script retorna.

Compartilhar este post


Link para o post
Compartilhar em outros sites

E a sua outra função usa... file_get_contents para requisitar a informação... ative todos os erros, remove os @ e veja o que o script retorna.

Nem vou mais esquentar a cabeça coloquei o mesmo site na hospedagem hostinger e esta rodando tudo certo é a hospedagem mesmo que é zuada o código ta tudo ok obrigado pela atenção de todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.