Inhaltsverzeichnis
Was ist Base64-Kodierung?
Base64-Funktion in PHP
base64_encoding
base64_decoding
So kodieren und dekodieren Sie Daten mit MIME Base64
URL-Parameter kodieren
Base64-kodierte Prüfsumme
E-Mail-Anhänge
Fazit
Heim Backend-Entwicklung PHP-Tutorial So verwenden Sie die Base64-Codierung in PHP

So verwenden Sie die Base64-Codierung in PHP

Sep 02, 2023 pm 08:29 PM
php 使用 base编码

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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==
?>
Nach dem Login kopieren

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));
?>
Nach dem Login kopieren

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);
?>
Nach dem Login kopieren

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

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.

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

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

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

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

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

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

CakePHP erstellt Validatoren CakePHP erstellt Validatoren Sep 10, 2024 pm 05:26 PM

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

CakePHP-Protokollierung CakePHP-Protokollierung Sep 10, 2024 pm 05:26 PM

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

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

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-Kurzanleitung CakePHP-Kurzanleitung Sep 10, 2024 pm 05:27 PM

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.

See all articles