Array
(
)

Pegar dados de um JSON com PHP e inserir dinamicamente no site

PHP
João Regis
   - 17 set 2016

Olá, sou novo por aqui e relativamente novo com PHP.
Eu estou a um tempo já procurando uma maneira de fazer o que eu preciso, que é basicamente o seguinte, eu terei na pasta raiz do meu servidor, um arquivo chamado config.json criado por mim, segue um exemplo dele abaixo:
#Código{
"config": {
"lang": "pt-br",
"title": "Titulo do site <sup>®</sup>"
}
}

Conforme eu precisar, eu adicionarei configurações "globais" do site, ou seja, idioma, título do site, etc. Tudo feito dentro desse JSON, e eu gostaria de requisitar essas informações através do PHP, onde eu iria inserir dinamicamente isso no código HTML. Exemplo:
#Código<html lang=" <?php /*Invés de colocar PT-BR aqui eu insiro um código PHP que busca no JSON a language*/ ?> " style="height:100%;">
Esse exemplo do lang="" é uma das coisas básicas que eu quero fazer usando JSON, no entanto, como faço isso? Li sobre funções de json_encode(), json_decode(), mas nada me ajudou, como aproveitar os dados contidos no JSON?
Obrigado pela ajuda desde já!

Marcelo Santana
|
MVP
Pontos: 550
    18 set 2016

Boa dia, João Dias!!

Segue uma forma simples, mas que de para você entender o processo..

#Código
/* endereço de onde esta localizado seu config.json */
$dirJson = 'config.json';

/* checando se o arquivo existe' */
if(!file_exists($dirJson)){
echo "Arquivo não existe, crie o arquivo, ou verifique o endereço!";
break;
}

/* abrindo o arquivo */
$strJson = file_get_contents($dirJson);

/* converter string Json para um Objeto */
$objJson = json_decode($strJson);

/* imprimindo configurações */
echo '<br />'.$objJson->config->lang.'<br />';
echo '<br />'.$objJson->config->title.'<br />';


Abraço, Marcelo Queiroz

João Regis
   - 18 set 2016

Obtive um erro, tentei de alguma forma, verificar os caminhos, e a estrutura do json, mas parece tudo ok, veja a estrutura que eu tenho

#Código/* endereço de onde esta localizado seu config.json */
$dirJson = 'config.json';

/* checando se o arquivo existe' */
if(!file_exists($dirJson)){
echo "Arquivo não existe, crie o arquivo, ou verifique o endereço!";
break;
}

/* abrindo o arquivo */
$strJson = file_get_contents($dirJson);

/* converter string Json para um Objeto */
$objJson = json_decode($strJson);

/* imprimindo configurações */
echo $objJson->config->lang;


#Código{
"config": {
"lang": "pt-br",
"title": "Titulo da pagina ®",
"logo": "images/brand/logo.png",

"local":{
"index":{
"title": "Servidor",
},
"sobre":{
"title": "Sobre nós"
},
"termos":{
"title": "Termos de uso e políticas de privacidade"
}
}
}
}


O erro que está ocorrendo: Erro php

João Regis
   - 18 set 2016

Pois bem, criarei outro tópico, o problema proposto neste aqui já foi resolvido! Agora vou procurar saber mais sobre o erro que está acontecendo e tentar resolver, caso eu não consiga eu volto a abrir um tópico.

Obrigado, e este aqui ta resolvido :)

Marcelo Santana
|
MVP
Pontos: 550
    18 set 2016

Boa tarde, João. Se a resposta ajudou a resolver seu problema, da um curtir. Assim ela fica como mais votada, e da para próxima pessoa que tiver o mesmo problema saber como foi resolvido.

Sobre seu erro, esta dizendo que não um objetivo.. isso porque a estrutura que você tentou criar um string json, está errada.. Abra o novo post, para tentarmos ajudá-lo. Abraço