PHP 저장 Base 64 이미지 base 64decode 의 문제 정리
2684 단어 PHPBase64base64 decode
인 코딩 에 서 는 그림 흐름 을 읽 기만 하면 base 64 를 사용 합 니 다.encode 에서 인 코딩 을 진행 하면 얻 을 수 있 습 니 다.
/**
* Base64 ( url) *
* @param $img_file *
* @return string
*/
function imgToBase64($img_file) {
$img_base64 = '';
if (file_exists($img_file)) {
$app_img_file = $img_file; //
$img_info = getimagesize($app_img_file); // ,
$fp = fopen($app_img_file, "r"); //
if ($fp) {
$filesize = filesize($app_img_file);
$content = fread($fp, $filesize);
$file_content = chunk_split(base64_encode($content)); // base64
switch ($img_info[2]) { //
case 1: $img_type = "gif";
break;
case 2: $img_type = "jpg";
break;
case 3: $img_type = "png";
break;
}
$img_base64 = 'data:image/' . $img_type . ';base64,' . $file_content;// base64
}
fclose($fp);
}
return $img_base64; // base64
}
//호출 방법
$img_dir = dirname(__FILE__) . '/uploads/img/wwllwedd.jpg';
$img_base64 = imgToBase64($img_dir);
echo '<img src="' . $img_base64 . '">'; //
echo '<hr>';
echo $img_base64; // Base64
디 코딩 은 조금 번 거 롭 습 니 다.그 이 유 는 그림 을 base 64 문자열 로 인 코딩 한 후에 인 코딩 에 이 문자 data:image/png 를 추가 하기 때 문 입 니 다.base 64 는 원래 base 64 를 식별 하 는 데 사용 되 었 다.근 데 그냥 phop 에 넣 으 면 base 64decode 함수 디 코딩 은 최종 저 장 된 그림 파일 형식 을 손상 시 킬 수 있 으 며,해결 방법 은 이 문 자 를 먼저 제거 하 는 것 입 니 다.
//
preg_match('/^(data:\s*image\/(\w+);base64,)/', $base_info, $result) // base64
$type = $result[2];
$extensions = strtolower($type);
if (!in_array($extensions, array('gif', 'jpg', 'png', 'jpeg','bmp'))) {
json_rtn(0, ' ');
}
$data= base64_decode(str_replace($result[1], '', $base_info)); // base64_decode
file_put_contents($pic_path,$data) //
//
$base64_string= explode(',', $base64_string); // data:image/png;base64,
$data= base64_decode($base64_string[1]); // base64_decode
file_put_contents($url, $data); //
다음은 이번 PHP 저장 Base 64 이미지 base 64decode 의 문제 내용,여러분 의 학습 과 우리 에 대한 지지 에 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
laravel에 yo에서 angularJs&coffeescript를 사용할 수 있도록 한다.먼저 yo 명령을 사용할 수 있어야하므로 아래에서 설치 global에 설치한 곳에서 laravel의 프로젝트 루트로 이동. 클라이언트 코드를 관리하는 디렉토리를 만들고 이동합니다. 클라이언트 환경 만들기 이것으로 히...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.