Extra Form
PHP PHP 7.0
CMS Rhymix

모듈을 하나 제작중입니다.

 

서버로 

 

"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAB94AAAQsCAYAAADXSTc1AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAA…"

 

이러한 데이터가 넘어 오는대요. 이걸 insertFile() 을 활용할 수 있는 방법이 있을까요?

 

라이믹스 사용중입니다.

  • profile

    1. base64,(쉼표) 뒷부분을 base64_decode 함수로 디코딩하여 바이너리를 얻습니다.

    2. 바이너리를 임시파일에 저장합니다. 이 파일은 정상적인 PNG 이미지입니다.

    3. 실제 파일을 업로드했을 때 $_FILES에 들어가는 자료구조(name, size, tmp_name 등)를 똑같이 재현하여 insertFile()에 넘깁니다. 그러면 아래의 4번에서 어떤 조치를 취했는지에 따라 임시파일이 최종 경로로 복사되거나 옮겨집니다.

    4. insertFile()에서 move_uploaded_file()을 시도하는 구간이 있을 텐데, 실제로 $_FILES를 통해 업로드한 파일이 아니므로 에러가 날 것입니다. 이 구간을 지나지 않도록 하는 옵션이 있을 테니 찾아봅니다.

    5. 임시파일이 복사되기만 하고 옮겨지지 않았을 경우, 원본을 지워주어야 디스크 용량 낭비를 막을 수 있습니다.

  • profile ?
    답변 감사합니다.