So verwenden Sie die Base64-Codierung in PHP
In diesem kurzen Artikel besprechen wir die Grundlagen der Base64-Codierung im Kontext von PHP. Im Wesentlichen werden wir sehen, wie man Daten mithilfe von PHP-Funktionen in ein Base64-codiertes Format konvertiert.
Was ist Base64-Kodierung?
Base64 ist die Kodierung von ASCII-Binärdaten. Jedes Zeichen in der Zeichenfolge repräsentiert sechs Informationsbits. Es stellt tatsächlich Binärdaten in Base-64-Darstellung dar. Wenn Sie eine Auffrischung benötigen, schauen Sie sich diese Einführung in Zahlensysteme und Grundlagen an.
Der Hauptzweck der Base64-Kodierung besteht darin, Binärdaten in ASCII-Text zu kodieren, wenn Sie solche Daten über ein Protokoll übertragen möchten, das speziell für die Verarbeitung von Textdaten entwickelt wurde. Dadurch wird sichergestellt, dass die Daten während der Übertragung intakt bleiben. Base64 wird insbesondere zum Versenden von E-Mails und zum Hochladen von Binärdaten in HTML-Formularen verwendet.
Eine weitere häufige Verwendung für die Base64-Codierung ist Hashing. Natürlich sollten Sie die Base64-Kodierung selbst nicht zum Generieren von Hashes verwenden, da diese leicht dekodiert werden kann. Zuerst wird mit Hilfe eines Hashing-Algorithmus wie SHA ein Hash generiert und dann wird der generierte Hash in ein Base64-codiertes Format konvertiert, um ihn anzuzeigen. Es ist sehr einfach, die Integrität zweier Base64-codierter Prüfsummen zu vergleichen.
Im nächsten Abschnitt besprechen wir die integrierten Base64-Funktionen in PHP.
Base64-Funktion in PHP
Es gibt zwei Hauptfunktionen in PHP, die die Base64-Codierung verarbeiten. base64_encode
函数允许您以 MIME Base64 格式对数据进行编码。另一方面,base64_decode
Funktion wird zum Dekodieren von MIME Base64-kodierten Daten verwendet.
Lassen Sie uns jede Funktion im Detail vorstellen.
base64_encoding
Werfen wir einen Blick auf die Syntax der base64_encode
-Funktion.
base64_encode ( string $string ) : string
Das einzige Argument, das Sie an die Funktion base64_encode
übergeben müssen, ist die Quellzeichenfolge, die Sie in MIME Base64 kodieren möchten.
Dadurch wird eine Base64-codierte Zeichenfolge zurückgegeben. Es ist erwähnenswert, dass Base64-codierte Daten etwa 33 % mehr Speicherplatz beanspruchen als die Originaldaten.
base64_decoding
Werfen wir einen Blick auf die Syntax der base64_decode
-Funktion.
base64_decode ( string $string , bool $strict = false ) : string|false
Der erste Parameter sind die Base64-kodierten Daten, die dekodiert werden sollen.
Der zweite Parameter ist optional, aber wenn Sie TRUE
,它将执行严格的检查。这意味着如果 Base64 编码的数据包含 Base64 字母表之外的字符,则解码函数将返回 FALSE
。这对于检查 Base64 编码字符串的完整性很有用。另一方面,如果您想默默地丢弃无效字符,只需传递 FALSE
übergeben, ist dies der Standardwert.
Nachdem die Dekodierung erfolgreich war, gibt die Funktion die dekodierte Zeichenfolge zurück, andernfalls gibt sie FALSE
zurück. Beachten Sie, dass die Funktion FALSE
。需要注意的是,如果相关字符串在编码前是二进制格式,则 base64_decode
möglicherweise Binärdaten zurückgibt, wenn die entsprechende Zeichenfolge vor der Codierung im Binärformat vorliegt.
Im nächsten Abschnitt besprechen wir die Verwendung der integrierten Base64-Funktionen in PHP.
So kodieren und dekodieren Sie Daten mit MIME Base64
In diesem Abschnitt schauen wir uns einige Beispiele an, um Base64-Funktionen in Aktion zu sehen.
URL-Parameter kodieren
Normalerweise verwenden Sie am Ende die Funktion base64_encode
, um die Parameter zu kodieren, die die URL enthalten.
Lassen Sie uns anhand des folgenden Beispiels schnell verstehen, wie es funktioniert.
<?php $redirectUrl = 'https://www.example.com/some/other/url'; header('Location: https://www.example.com/redirect/' . base64_encode($redirectUrl)); //https://www.example.com/redirect/aHR0cDovL3d3dy5leGFtcGxlLmNvbS9zb21lL290aGVyL3VybA== ?>
Wie Sie sehen können, sieht die generierte URL wie folgt aus, wenn wir die Funktion base64_encode
函数,则生成的 URL 将类似于 https://www.example.com/redirect/http://www.example.com/ some/other/url
nicht verwenden: https://www.example.com/redirect/http://www.example.com/ some/other /url
, ungültig.
Base64-kodierte Prüfsumme
Wie bereits erwähnt, ist die Funktion base64_encode
praktisch, wenn Sie Binärdaten in ASCII-Strings konvertieren.
Schauen wir uns das folgende Beispiel an.
<?php $base64_encoded_hash = base64_encode(hash_hmac('sha1', 'Source string to be hashed.', 'YOUR_TOP_SECRET_KEY', true)); ?>
Im obigen Beispiel gibt die Funktion hash_hmac
gehashte Binärdaten zurück. Daher wird es schwierig sein, die generierten Binärdaten anzuzeigen, ohne die Funktion hash_hmac
函数将返回哈希二进制数据。所以如果不使用 base64_encode
zu verwenden.
E-Mail-Anhänge
Wenn Sie in PHP eine E-Mail mit einem Dateianhang senden, können Sie den Dateiinhalt in das Base64-Kodierungsformat kodieren. Wenn Sie einen binären Anhang senden, müssen die Anhangsdaten tatsächlich codiert und nicht im Rohformat gesendet werden.
Schauen wir uns das folgende Beispiel an.
<?php $to = 'receiver@example.com'; $subject = 'Example of base64 encoded attachments'; $message = 'This email contains an image attachment.'; $boundary = md5(microtime()); $headers = "From: name <from@example.com>" . "\r\n"; $headers .= "MIME-Version: 1.0" . "\r\n"; $headers .= "Content-Type: multipart/mixed; boundary=" . $boundary . "\r\n"; $headers .= "Multipart MIME example." . "\r\n"; $message.= "--" . $boundary. "\r\n"; $message.= "Content-Type: text/plain; charset=\"iso-8859-1\"" . "\r\n"; $message.= "Content-Transfer-Encoding: 8bit" . "\r\n"; $message.= $message . "\r\n"; // attach file $filename = 'nature.jpg'; $filecontents = file_get_contents($filename); $filecontents = chunk_split(base64_encode($filecontents)); $message.= "--" . $boundary. "\r\n"; $message.= "Content-Type: image/jpg; name=\"" . $filename . "\"" . "\r\n"; $message.= "Content-Transfer-Encoding: base64" . "\r\n"; $message.= "Content-Disposition: attachment" . "\r\n"; $message.= $filecontents . "\r\n"; $message.= "--" . $boundary. "--"; mail($mailto, $subject, $body, $headers); ?>
Wie Sie sehen können, haben wir die Funktion base64_encode
verwendet, um die binären Bilddaten zu kodieren, bevor wir sie als Anhang senden.
Auf diese Weise können Sie Base64-Funktionen in PHP für verschiedene Zwecke verwenden.
Fazit
In diesem kurzen Artikel haben wir besprochen, wie man Base64-Funktionen in der täglichen PHP-Entwicklung verwendet.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Base64-Codierung in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.

Die Anmeldung bei CakePHP ist eine sehr einfache Aufgabe. Sie müssen nur eine Funktion verwenden. Sie können Fehler, Ausnahmen, Benutzeraktivitäten und von Benutzern durchgeführte Aktionen für jeden Hintergrundprozess wie Cronjob protokollieren. Das Protokollieren von Daten in CakePHP ist einfach. Die Funktion log() wird bereitgestellt

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

CakePHP ist ein Open-Source-MVC-Framework. Es erleichtert die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich. CakePHP verfügt über eine Reihe von Bibliotheken, um die Überlastung der häufigsten Aufgaben zu reduzieren.
