將Data-URI 轉換為PHP 中的檔案
當負責儲存從JavaScript 取得的資料URI 時,會出現一個常見問題:生成的圖像檔案似乎已損壞。當使用類似以下的程式碼時,經常會出現此問題:
$data = $_POST['logoImage']; $uri = substr($data,strpos($data,",")+1); file_put_contents($_POST['logoFilename'], base64_decode($uri));
要解決此問題,請查閱PHP 手冊,您將在其中找到以下見解:
「如果您想要保存從Javascript canvas.toDataURL() 函數派生的數據,您必須將空格轉換為加號,如果不這樣做,則解碼的數據會損壞:“
$encodedData = str_replace(' ','+',$encodedData); $decodedData = base64_decode($encodedData);
在此示例中, 'encodedData' 變數是從JavaScript 取得的資料URI 字串。以加號 (' ') 取代空格 (' ') 可修正解碼過程中可能發生的任何損壞。然後可以使用提供的 file_put_contents 函數成功保存解碼的資料。
以上是如何在 PHP 中正確地將資料 URI 儲存為文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!