Wie gehe ich mit Leerzeichen in Daten-URIs während der Dateikonvertierung in PHP um?

Mary-Kate Olsen
Freigeben: 2024-10-23 08:52:02
Original
679 Leute haben es durchsucht

How to Handle Spaces in Data URIs During File Conversion in PHP?

So konvertieren Sie einen Daten-URI in eine Datei in PHP

Beim Versuch, einen von JavaScript empfangenen Daten-URI mit PHP zu speichern, verwenden Sie die Der folgende Code könnte zu einer beschädigten Bilddatei führen:

<code class="php">$data = $_POST['logoImage'];
$uri = substr($data, strpos($data, ",") + 1);
file_put_contents($_POST['logoFilename'], base64_decode($uri));</code>
Nach dem Login kopieren

Der zugrunde liegende Grund ist das Vorhandensein von Leerzeichen im Daten-URI, die in Pluszeichen umgewandelt werden müssen.

Lösung :

Die PHP-Dokumentation schlägt vor, dass für Daten, die von einer Javascript-Funktion „canvas.toDataURL()“ abgeleitet werden, Leerzeichen vor der Dekodierung durch Pluszeichen ersetzt werden sollten.

<code class="php">$encodedData = str_replace(' ', '+', $encodedData);
$decodedData = base64_decode($encodedData);</code>
Nach dem Login kopieren

Diese Änderung ist enthalten in den Originalcode sollte die Bilddatei erfolgreich gespeichert werden:

<code class="php">$data = $_POST['logoImage'];
$uri = substr($data, strpos($data, ",") + 1);
$encodedData = str_replace(' ', '+', $uri);
$decodedData = base64_decode($encodedData);
file_put_contents($_POST['logoFilename'], $decodedData);</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie gehe ich mit Leerzeichen in Daten-URIs während der Dateikonvertierung in PHP um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!