Obtenir et lire des données en PHP
-
Méthodes
GET
vsPOST
en PHP -
Obtenir et lire les entrées utilisateur avec
file_get_content()
etphp://input
en PHP -
Obtenir et lire la requête avec
file_get_content()
etjson_decode()
en PHP
Nous rencontrerons différents contenus au fur et à mesure que nous développerons des applications PHP. De temps en temps, nous aurons besoin de lire des fichiers et d’obtenir du contenu auprès d’utilisateurs, d’autres sources et d’applications.
En PHP et dans la plupart des langages de programmation, il existe différents moyens et processus que nous pouvons utiliser pour obtenir un contenu de requête et de lecture. Des fonctions intégrées, comme file_get_content()
, json_decode()
nous permettent de obtenir le contenu et décoder les fichiers JSON, et des wrappers comme php://input
pour lire les données brutes du corps de la requête .
Cet article discutera des fonctions que nous pouvons utiliser pour obtenir des requêtes, des entrées d’utilisateurs et lire des données en PHP.
Méthodes GET
vs POST
en PHP
Pour obtenir des données, nous devons les transférer d’une source à une autre ; un cas d’utilisation courant est du client au serveur ou vice versa. Pour ce faire, nous avons besoin de deux méthodes populaires, GET
et POST
.
La méthode GET
demande des données à une ressource spécifiée, et la méthode POST
envoie des données à un serveur pour créer ou mettre à jour une ressource. Cependant, seuls les caractères ASCII sont autorisés dans la méthode GET
.
Au-delà des différences, nous devons considérer les API (Application Programming Interfaces), qui sont le moyen de facto de se connecter à différentes applications. La plupart des API fournissent leurs données au format JSON pour que nous, l’utilisateur final, les lisions ou les utilisions.
Obtenir et lire les entrées utilisateur avec file_get_content()
et php://input
en PHP
Le wrapper php://input
nous permet de lire les données brutes POST
et fournit une approche alternative moins gourmande en mémoire sans processus de configuration PHP (directives php.ini
spéciales). De plus, nous pouvons traiter php://input
comme un nom de fichier que nous pouvons utiliser n’importe où dans notre base de code dans le contexte du processus file_get_content()
.
Pour donner du sens à cette explication, faisons un processus de connexion simple qui utilisera le file_get_content()
et le wrapper php://input
pour lire les données des utilisateurs à partir du formulaire. Le formulaire HTML utilise la méthode POST
pour envoyer les données des utilisateurs à api.php
.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div>
<form action="api.php" method="POST">
<form method="POST">
<label for="emai">Email address:</label><br>
<input type="text" id="email" name="email"><br>
<label for="password">Password:</label><br>
<input type="text" id="password" name="password">
<br><br>
<button type="submit" name="btn_login" value="btn_login"> Login </button>
</form>
</div>
</body>
</html>
Le api.php
utilise la fonction et le wrapper et affiche les informations à l’aide de la fonction var_dump()
.
<?php
$data2 = file_get_contents('php://input');
var_dump($data2);
?>
Le formulaire HTML avec la saisie de l’utilisateur est illustré ci-dessous :
Le traitement api.php
de l’entrée utilisateur est illustré ci-dessous :
Obtenir et lire la requête avec file_get_content()
et json_decode()
en PHP
Pour lire un fichier JSON, nous pouvons utiliser la fonction intégrée file_get_content()
pour lire le fichier JSON, puis décoder la chaîne que nous obtenons avec la fonction json_decode()
.
JSON (JavaScript Object Notation) est un format de fichier standard ouvert qui stocke les données au format de paire de clés sous forme de chaîne. Avec la fonction json_decode()
, nous pouvons traiter la paire de clés et créer un tableau associatif ou objets que PHP comprend.
Outre la chaîne dans la fonction file_get_content()
, il existe un autre argument important, le paramètre associative
. Il peut être défini sur deux valeurs : true ou false ; si vrai, la chaîne sera stockée dans un tableau associatif, et si faux, elle sera stockée en tant qu’objet.
Lisons ce fichier JSON :
[
{
"userId": 1,
"id": 1,
"title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
"body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
},
{
"userId": 1,
"id": 2,
"title": "qui est esse",
"body": "est rerum tempore vitae\nsequi sint nihil reprehenderit dolor beatae ea dolores neque\nfugiat blanditiis voluptate porro vel nihil molestiae ut reiciendis\nqui aperiam non debitis possimus qui neque nisi nulla"
},
{
"userId": 1,
"id": 3,
"title": "ea molestias quasi exercitationem repellat qui ipsa sit aut",
"body": "et iusto sed quo iure\nvoluptatem occaecati omnis eligendi aut ad\nvoluptatem doloribus vel accusantium quis pariatur\nmolestiae porro eius odio et labore et velit aut"
},
{
"userId": 1,
"id": 4,
"title": "eum et est occaecati",
"body": "ullam et saepe reiciendis voluptatem adipisci\nsit amet autem assumenda provident rerum culpa\nquis hic commodi nesciunt rem tenetur doloremque ipsam iure\nquis sunt voluptatem rerum illo velit"
},
{
"userId": 1,
"id": 5,
"title": "nesciunt quas odio",
"body": "repudiandae veniam quaerat sunt sed\nalias aut fugiat sit autem sed est\nvoluptatem omnis possimus esse voluptatibus quis\nest aut tenetur dolor neque"
}
]
En utilisant ce code PHP, nous pouvons stocker le fichier JSON sous forme de tableau associatif et lire le premier élément du tableau dans le tableau.
<?php
$user_json = file_get_contents('user.json');
$users = json_decode($user_json, true);
print_r($users[0]);
On peut aussi utiliser la boucle foreach
pour lire tous les titres du fichier JSON.
<?php
$user_json = file_get_contents('user.json');
$users = json_decode($user_json, true);
foreach($users as $user) {
print_r($user['title']);
echo "\n";
}
La sortie de l’extrait de code est :
sunt aut facere repellat provident occaecati excepturi optio reprehenderit
qui est esse
ea molestias quasi exercitationem repellat qui ipsa sit aut
eum et est occaecati
nesciunt quas odio
Cependant, si nous voulons lire les données JSON directement depuis l’API, nous pouvons utiliser la bibliothèque cURL et la fonction json_encode
. Vous pouvez consulter ceci exemple de code sur GitHub.
Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.
LinkedIn