1.在網上找了個base64轉圖片的方法,網上的方法幾乎都是基于這個來了,但是我從ajax提交過來的base64數據執行這個方法第一個判斷“匹配出圖片的格式”,正則匹配不到,$result是空的,base64數據是沒問題的,我返回到客戶端放到img標簽是可以正常顯示的,并且在在線base64轉圖片的工具也能正常轉換,求大神給看看哪里出的問題。
/* base64格式編碼轉換為圖片并保存對應文件夾 */
function base64_image_content($base64_image_content,$path){
//匹配出圖片的格式
if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result)){
$type = $result[2];
$new_file = $path."/".date('Ymd',time())."/";
if(!file_exists($new_file)){
//檢查是否有該文件夾,如果沒有就創建,并給予最高權限
mkdir($new_file, 0700);
}
$new_file = $new_file.time().".{$type}";
if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_image_content)))){
return '/'.$new_file;
}else{
return false;
}
}else{
return false;
}
}
base64開頭部分數據,太長了就不放了
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0CAYAAADL1t+KAAAgAElEQVR4Xuy9aZMd15EleGJ/+8s9E4l9IUEBXCVSpSpVl6q758PMD5r/1GZtNm1TPd1lraqWSqpSSRQ3iRJJccVCrLm/PfYYc/d7IyITSRKEkASQug8WeFu8GxEekXGuux8/bv3fdyYFzMNYwFjAWMBYwFjAWOCZtoBlAP2ZPn9m540FjAWMBYwFjAXYAgbQzYVgLGAsYCxgLGAscAwsYAD9GJxEcwjGAsYCxgLGAsYCBtDNNWAsYCxgLGAsYCxwDCxgAP0YnERzCMYCxgLGAsYCxgIG0M01YCxgLGAsYCxgLHAMLGAA/RicRHMIxgLGAsYCxgLGAgbQzTVgLGAsYCxgLGAscAwsYAD9GJxEcwjGAsYCxgLGAsYCBtDNNWAsYCxgLGAsYCxwDCxgAP0YnERzCMYCxgLGAsYCxgIG0M01YCxgLGAsYCxgLHAMLGAA/RicRHMIxgLGAsYCxgLGAgbQzTVgLGAsYCxgLGAscAwsYAD9GJxEcwjGAsYCxgLGAsYCBtDNNWAsYCxgLGAsYCxwDCxgAP0YnERzCMYCxgLGAsYCxgIG0M01YCxgLGAsYCxgLHAMLGAA/RicRHMIxgLGAsYCxgLGAgbQzTVgLGAsYCxgLGAscAwsYAD9GJxEcwjGA
- 3 回答
- 0 關注
- 369 瀏覽
添加回答
舉報
0/150
提交
取消