Oui c'est possible, alors tu as:
$_FILES['fichier_json']['tmp_name']
ces deux fonctions permettent de récupérer le chemin temporaire du fichier uploadé et avec:
file_get_contents()
json_decode()
tu peux récupérer le contenu du fichier et décoder le json, en gros ça donne ça:
$json = file_get_contents($_FILES['file']['tmp_name']);
$content = json_decode($json); // json_decode($json, true) => retourne des tableaux, sinon c'est un object
var_dump($content);
si tu utilise Slim ou Symfony ou un framework qui utilise RequestInterface (psr-7) tu as ceci pour récupérer le fichier
$files = $request->getUploadedFiles();
$json = file_get_content($file['tmp_name'])
// le reste c'est comme au-dessus
je te conseillerai de le laisser sous forme d'object, je trouve ça plus pratique car tu as juste a faire:
$var = $content->var;
pour le code du formulaire:
<form action="upload.php" method="post" enctype="multipart/form-data">
Fichier Json
<input type="fichier_json" name="file" id="fichier_json">
<input type="submit" value="Envoyer" name="envoyer">
</form>
Voilà en espérant t'avoir aidé :)