open a file with php

1
  • something similar imgur link .

I wanted to look for the file on my desktop - open that box to look for the file on the hard disk - (in my case it would open a file .json ), read it and interpret it.

Is there any material, preferably php object-oriented, for me to track?

    
asked by anonymous 20.08.2015 / 22:51

1 answer

1

I think it's something like: File: mydata.json

 {
  "dataConsulta": "2015-08-02 00:33:20",
  "listaUsuarios": [
    {
      "idUsuario": 1,
      "nome": "Renan",
      "idade": "23",
      "listaEspecialidades": ["PHP", "JS", "MySQL"]
    },
    {
      "idUsuario": 2,
      "nome": "Denali",
      "idade": "23",
      "listaEspecialidades": ["PHP", "JS", "MySQL", ".NET", "SQL Server"]
    }
    ],
    "mensagem": "2 registros encontrados",
    "especialidadesComuns": "PHP, JS, MySQL"
}

File: uploadJson.php     

    //Move o arquivo para um lugar do servidor (A pasta já deve estar criada neste caso)
    move_uploaded_file($_FILES['arquivo']['tmp_name'],  $dstDir);
    //Pega o conteúdo do arquivo
    $fileContent = file_get_contents($dstDir);
    $objJson = json_decode($fileContent);

    //Agora use o json da forma como quiser
    //Ex.: Lista todos usuários e suas especialidades
    if(sizeof($objJson->listaUsuarios)){
      foreach($objJson->listaUsuarios as $usuario){
         echo "Nome: ".$usuario->nome.";";
         if(sizeof($usuario->listaEspecialidades)){
           echo "Especialidades: ";
           echo implode(", ", $usuario->listaEspecialidades);
         }
         echo "<br>";
      }
    }
    echo $objJson->mensagem." - Consulta realizada em: ".date("d/m/Y H:i:s", strtotime($objJson->dataConsulta))."<br>";

    if($objJson->especialidadesComuns){
       echo "Algumas especialidades são comuns entre os usuários: ".$objJson->especialidadesComuns;
    }
  }
?>

<form id="meu-form" enctype="multipart/form-data">
   <p>Selecione o arquivo: <input type="file" name="arquivo"></p>
   <input type="submit" value="Enviar">
</form>

The json_decode function of PHP is very powerful, turning your text into an object. If you need to execute methods with the received data, I suggest that you use a recursive loader to populate the instances of your classes with the objects received with json.

I hope I have helped!

    
22.08.2015 / 05:38