在 PHP 中將 Data-URI 轉換為檔案時如何解決影像損壞問題?

Susan Sarandon
發布: 2024-10-23 08:48:29
原創
752 人瀏覽過

How to Resolve Corrupted Image Issues When Converting Data-URI to File in PHP?

PHP Data-URI 到檔案:解決損壞的影像問題

在從Data-URI 轉換為檔案格式期間保持影像資料的完整性至關重要。使用 PHP 的 file_put_contents 函數儲存來自 JavaScript canvas.toDataURL() 呼叫的資料時遇到的常見挑戰是產生的映像損壞。該問題源自於 Data-URI 中存在空格。

PHP 文件提供了解決此問題的簡單方法:

<code class="php">$encodedData = str_replace(' ', '+', $encodedData);
$decodedData = base64_decode($encodedData);</code>
登入後複製

透過加號替換空格,解碼後的資料已正確重建,確保影像檔案未損壞。

在您的特定情況下,您正在使用包含 PNG 映像的 Data-URI。以下是將解決方案合併到程式碼中的方法:

<code class="php">// Get the base64-encoded URI data from JavaScript
$data = $_POST['logoImage'];

// Remove the leading "data:image/png;base64," part
$uri = substr($data, strpos($data, ',') + 1);

// Replace any whitespace with a plus
$uri = str_replace(' ', '+', $uri);

// Decode the base64-encoded data
$decodedData = base64_decode($uri);

// Save the decoded data to a file with the specified name
file_put_contents($_POST['logoFilename'], $decodedData);</code>
登入後複製

透過遵循此方法,您可以成功地將 Data-URI 儲存為未損壞的 PNG 檔案。

以上是在 PHP 中將 Data-URI 轉換為檔案時如何解決影像損壞問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!