PHP에서 Data-URI를 파일로 변환
JavaScript에서 얻은 데이터 URI를 저장하는 작업을 수행할 때 다음과 같은 일반적인 문제가 발생합니다. 결과 이미지 파일이 손상된 것으로 나타납니다. 이 문제는 다음과 유사한 코드를 사용할 때 자주 발생합니다.
$data = $_POST['logoImage']; $uri = substr($data,strpos($data,",")+1); file_put_contents($_POST['logoFilename'], base64_decode($uri));
이 문제를 해결하려면 PHP 설명서를 참조하세요. 여기서 다음 정보를 찾을 수 있습니다.
"원하는 경우 Javascript canvas.toDataURL() 함수에서 파생된 데이터를 저장하려면 공백을 플러스로 변환해야 합니다. 그렇게 하지 않으면 디코딩된 데이터가 손상됩니다."
$encodedData = str_replace(' ','+',$encodedData); $decodedData = base64_decode($encodedData);
이 예에서는 'encodedData' 변수는 JavaScript에서 얻은 데이터 URI 문자열입니다. 공백(' ')을 플러스(' ')로 바꾸면 디코딩 중에 발생할 수 있는 모든 손상이 수정됩니다. 그러면 제공된 file_put_contents 함수를 사용하여 디코딩된 데이터를 성공적으로 저장할 수 있습니다.
위 내용은 PHP에서 데이터 URI를 파일로 올바르게 저장하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!