1. 程式人生 > >PHP出了APP上傳圖片base64

PHP出了APP上傳圖片base64

移動端為什麼使用base64上傳圖片

base64相對於form-data安全性高
ajax傳輸圖片資源會有失敗可能性,而base64不需要考慮這個。
因為移動端base64比form-data相容性更好

實現程式碼

header('Content-type:text/html;charset=utf-8');
$base64_image_content = $_POST['imgBase64'];
//匹配出圖片的格式
if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result))
{
	$type = $result[2];
	$new_file = "upload/active/img/".date('Ymd',time())."/";
	if(!file_exists($new_file))
	{
		//檢查是否有該資料夾,如果沒有就建立,並給予最高許可權
		mkdir($new_file, 0700);
	}
	$new_file = $new_file.time().".{$type}";$new_file = $new_file.time().".{$type}";
	if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_image_content))))
	{
		if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_image_content))))
		{
			if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_image_content))))
			{
				echo '新檔案儲存成功:', $new_file;
			}else{
				echo '新檔案儲存失敗';
			}
}