Abrufen und Lesen von Daten in PHP
-
GET
vs.POST
Methoden in PHP -
Benutzereingaben abrufen und lesen mit
file_get_content()
undphp://input
in PHP -
Anfrage abrufen und lesen Mit
file_get_content()
undjson_decode()
in PHP
Bei der Entwicklung von PHP-Anwendungen werden wir auf verschiedene Inhalte stoßen. Von Zeit zu Zeit müssen wir Dateien lesen und Inhalte von Benutzern, anderen Quellen und Anwendungen abrufen.
In PHP und den meisten Programmiersprachen gibt es verschiedene Mittel und Prozesse, die wir verwenden können, um angeforderte und gelesene Inhalte zu erhalten. Eingebaute Funktionen wie file_get_content()
, json_decode()
ermöglichen es uns, den Inhalt abzurufen und JSON-Dateien zu decodieren, und Wrapper wie php://input
, um Rohdaten aus dem Anforderungstext zu lesen .
Dieser Artikel behandelt Funktionen, die wir verwenden können, um Anfragen, Benutzereingaben zu erhalten und Daten in PHP zu lesen.
GET
vs. POST
Methoden in PHP
Um Daten zu erhalten, müssen wir sie von einer Quelle zur anderen übertragen; Ein häufiger Anwendungsfall ist vom Client zum Server oder umgekehrt. Dazu benötigen wir zwei beliebte Methoden, GET
und POST
.
Die Methode GET
fordert Daten von einer bestimmten Ressource an, und die Methode POST
sendet Daten an einen Server, um eine Ressource zu erstellen oder zu aktualisieren. Innerhalb der GET
-Methode sind jedoch nur ASCII-Zeichen erlaubt.
Abgesehen von den Unterschieden müssen wir APIs (Application Programming Interfaces) in Betracht ziehen, die de facto die Mittel sind, um sich mit verschiedenen Anwendungen zu verbinden. Die meisten APIs stellen ihre Daten im JSON-Format für uns, den Endbenutzer, zum Lesen oder Verwenden bereit.
Benutzereingaben abrufen und lesen mit file_get_content()
und php://input
in PHP
Der Wrapper php://input
ermöglicht uns das Lesen roher POST
-Daten und bietet einen weniger speicherintensiven alternativen Ansatz ohne PHP-Konfigurationsprozesse (spezielle php.ini
-Direktiven). Darüber hinaus können wir php://input
als Dateinamen behandeln, den wir überall in unserer Codebasis im Kontext des Prozesses file_get_content()
verwenden können.
Um dieser Erklärung Bedeutung zu verleihen, lassen Sie uns einen einfachen Anmeldeprozess erstellen, der file_get_content()
und den Wrapper php://input
verwendet, um die Daten der Benutzer aus dem Formular zu lesen. Das HTML-Formular verwendet die POST
-Methode, um die Daten der Benutzer an die api.php
zu senden.
<!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>
Die api.php
verwendet die Funktion und den Wrapper und zeigt die Informationen mit der Funktion var_dump()
an.
<?php
$data2 = file_get_contents('php://input');
var_dump($data2);
?>
Das HTML-Formular mit den Benutzereingaben ist unten dargestellt:
Nachfolgend ist die api.php
-Verarbeitung der Benutzereingabe dargestellt:
Anfrage abrufen und lesen Mit file_get_content()
und json_decode()
in PHP
Um eine JSON-Datei zu lesen, können wir die eingebaute Funktion file_get_content()
verwenden, um die JSON-Datei zu lesen, und dann den String decodieren, den wir mit der Funktion json_decode()
erhalten.
JSON (JavaScript Object Notation) ist ein offenes Standarddateiformat, das Daten im Schlüsselpaarformat als Zeichenfolge speichert. Mit der Funktion json_decode()
können wir das Schlüsselpaar verarbeiten und ein assoziatives Array oder Objekte erstellen, das PHP versteht.
Neben dem String in der Funktion file_get_content()
gibt es ein weiteres wichtiges Argument, den Parameter associative
. Es kann auf zwei Werte gesetzt werden: wahr oder falsch; wenn wahr, wird der String in einem assoziativen Array gespeichert, und wenn falsch, wird er als Objekt gespeichert.
Lesen wir diese JSON-Datei:
[
{
"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"
}
]
Mit diesem PHP-Code können wir die JSON-Datei als assoziatives Array speichern und das erste Array-Element im Array lesen.
<?php
$user_json = file_get_contents('user.json');
$users = json_decode($user_json, true);
print_r($users[0]);
Wir können auch die foreach
-Schleife verwenden, um alle Titel in der JSON-Datei zu lesen.
<?php
$user_json = file_get_contents('user.json');
$users = json_decode($user_json, true);
foreach($users as $user) {
print_r($user['title']);
echo "\n";
}
Die Ausgabe des Codeschnipsels ist:
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
Wenn wir jedoch JSON-Daten direkt aus der API lesen möchten, können wir die cURL-Bibliothek und die Funktion json_encode
verwenden. Sie können sich diesen Beispielcode auf GitHub ansehen.
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