> 웹 프론트엔드 > JS 튜토리얼 > PHP를 사용하여 Base64 데이터 URI에서 PNG 이미지를 서버 측에 저장하는 방법은 무엇입니까?

PHP를 사용하여 Base64 데이터 URI에서 PNG 이미지를 서버 측에 저장하는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-12-09 16:43:17
원래의
528명이 탐색했습니다.

How to Save PNG Images Server-Side from Base64 Data URIs using PHP?

Base64 데이터 URI에서 서버 측 PNG 이미지 저장

PHP를 사용하여 Nihilogic의 "Canvas2Image" JavaScript 도구로 생성된 base64 문자열을 서버의 실제 PNG 파일로 변환하려면, 당신은 다음을 수행해야합니다 단계:

  1. base64 이미지 데이터를 추출합니다. 데이터 URI 헤더를 실제 base64 데이터와 분리합니다. 다음은 스니펫입니다.

    $data = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABE...';
    list($type, $data) = explode(';', $data);
    list(, $data) = explode(',', $data);
    로그인 후 복사
  2. base64 데이터를 디코딩합니다. 인코딩된 데이터를 다시 이진 문자열로 변환합니다.

    $data = base64_decode($data);
    로그인 후 복사
  3. 이미지를 다음 폴더에 저장하세요. 파일. 디코딩된 데이터를 서버의 PNG 파일에 씁니다.

    file_put_contents('/tmp/image.png', $data);
    로그인 후 복사
  4. 대체 단일 방법: 이 방법을 사용할 수도 있습니다. -line 명령을 사용하여 추출, 디코딩 및 저장 이미지:

    $data = base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $data));
    로그인 후 복사
  5. 올바른 오류 처리 보장: 잘못된 데이터 URI, 실패한 base64 디코딩 또는 잘못된 이미지 유형을 감지하는 메커니즘을 구현합니다.

    if (preg_match('/^data:image\/(\w+);base64,/', $data, $type)) {
        // Valid data URI
    } else {
        throw new \Exception('Invalid data URI');
    }
    
    if ($data === false) {
        throw new \Exception('Base64 decode failed');
    }
    로그인 후 복사

위 내용은 PHP를 사용하여 Base64 데이터 URI에서 PNG 이미지를 서버 측에 저장하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿