Heim  >  Artikel  >  Backend-Entwicklung  >  So erhalten Sie Netzwerkbilder und konvertieren sie in PHP in Base64

So erhalten Sie Netzwerkbilder und konvertieren sie in PHP in Base64

PHPz
PHPzOriginal
2023-03-29 10:13:262008Durchsuche

Bei der Entwicklung und Gestaltung von Websites ist es oft notwendig, externe Bilder zu verwenden, um den Inhalt und die Ästhetik der Seite zu bereichern. Aus bestimmten Gründen müssen wir jedoch manchmal Netzwerkbilder in das Base64-String-Format konvertieren. In diesem Artikel wird erläutert, wie Sie mit PHP Netzwerkbilder abrufen und in das Base64-Format konvertieren.

1. Verwenden Sie PHP, um Webbilder zu erhalten.

Zuerst müssen wir die Binärdaten von Webbildern abrufen. In PHP können wir die Curl-Bibliothek verwenden, um Netzwerkressourcen abzurufen. Die Verwendung der Curl-Bibliothek erfordert die folgenden Schritte:

1. Curl initialisieren:
Verwenden Sie die Funktion „curl_init()“, um Curl zu initialisieren. Dadurch wird ein Curl-Handle zurückgegeben, das für nachfolgende Vorgänge wie das Abrufen von Ressourcen, das Festlegen von Optionen usw. verwendet werden kann . Nach der Initialisierung können Curl-Optionen mit der Funktion „curl_setopt()“ festgelegt werden.

$ch = curl_init();

2. Curl-Optionen festlegen:
Curl-Optionen festlegen, um Netzwerkressourcen anzufordern und Binärdaten abzurufen. Zu den Optionen, die festgelegt werden müssen, gehören URL, Anforderungsmethode, ob Header-Informationen einbezogen werden sollen usw.

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);

Unter anderem ist $url die URL-Adresse des abzurufenden Netzwerkbildes. Die Option CURLOPT_RETURNTRANSFER gibt den von der Funktion „curl_exec()“ zurückgegebenen Inhalt als Zeichenfolge zurück, anstatt ihn direkt auszugeben ohne HTTP-Header.

3. Curl-Anfrage ausführen:
Verwenden Sie die Funktion „curl_exec()“, um die Curl-Anfrage auszuführen und die binären Antwortdaten zurückzugeben.

$image_data = curl_exec($ch);

4. Schließen Sie das Curl-Ressourcenhandle:
Verwenden Sie die Funktion „curl_close()“, um das Curl-Ressourcenhandle zu schließen.

curl_close($ch);

Bisher haben wir Curl verwendet, um die Binärdaten von Netzwerkbildern zu erhalten. Als Nächstes erfahren Sie, wie Sie diese Binärdaten in das Base64-String-Format konvertieren.

2. Binärdaten in das Base64-Stringformat konvertieren

PHP bietet die Funktion base64_encode() zum Konvertieren von Binärdaten in das Base64-Stringformat. Hier ist ein einfaches Beispiel für die Verwendung dieser Funktion:

$image_base64 = base64_encode($image_data);

Hier sind $image_data die Binärdaten des im vorherigen Schritt erhaltenen Netzwerkbilds und $image_base64 die konvertierten Daten im Base64-Stringformat. Es ist zu beachten, dass die konvertierte Base64-Zeichenfolge nicht das Präfix „data:image/png;base64,“ enthält. Wenn Sie dieses Präfix hinzufügen müssen, können Sie den folgenden Code verwenden:

$image_base64 = "data:image/png;base64," . base64_encode($image_data);

3. Konvertieren Sie Netzwerkbilder direkt in Base64-String-Format

Neben der Verwendung von Curl zum Abrufen binärer Daten von Netzwerkbildern bietet PHP auch die Funktion file_get_contents(), um Netzwerkbilder direkt abzurufen und in das Base64-String-Format zu konvertieren. Der Code für die Verwendung dieser Methode zum Abrufen von Netzwerkbildern ist sehr prägnant:

$image_data = file_get_contents($url);
$image_base64 = "data:image/png;base64," . base64_encode($image_data);

Es ist zu beachten, dass die direkte Verwendung der Funktion file_get_contents() zum Abrufen von Netzwerkressourcen den PHP-Prozess blockiert und in einer asynchronen Aufgabe verarbeitet werden sollte, um nachfolgende Auswirkungen zu vermeiden Operationen.

Zusammenfassend lässt sich sagen, dass wir mit der Funktion „curl“ oder „file_get_contents“ Webbilder in das Base64-String-Format konvertieren können, um unser Website-Design zu bereichern.

Das obige ist der detaillierte Inhalt vonSo erhalten Sie Netzwerkbilder und konvertieren sie in PHP in Base64. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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