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: 450
    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: 450
    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