我想從客戶端發送的base64代碼在我的服務器上傳目錄中創建一個圖像。下面的代碼相同:PNG圖像正在從base64_decode保存時被裁剪
<?php
$dataURI = $_REQUEST['dataURI'];
$dataURI = str_replace('data:image/png;base64,', '', $dataURI);
$dataURI = str_replace(' ', '+', $dataURI);
$data = base64_decode($dataURI);
// $filename = UPLOAD_DIR . uniqid() . '.png';
$filename = UPLOAD_DIR . 'saved-image' . '.png';
$status = file_put_contents($filename, $data);
?>
圖像被成功創建,但由於某種原因圖像被裁剪爲一半(水平)。誰能告訴我,這有什麼問題?
以下是原始和保存/創建的映像:
原始圖像
創建的圖像
可能被截斷的字符串長度? –
@Luke說什麼 - 你如何提交給服務器?不要使用'$ _REQUEST' - 顯式選擇其中一種方法,在這種情況下請確保它是'$ _POST',因爲它有更高的限制。 – Emissary
謝謝。將嘗試它並在這裏發佈。 – ggauravr