Base64 인코딩으로 이미지를 변환하는 방법?
PHPBase64 인코딩으로 이미지를 변환하는 방법?
제발 나를 안내해 주실 수 있습니다. URL에서 base64 인코딩으로 이미지를 변환하려면 어떻게해야합니까?
해결법
-
==============================
1.나는 그것이 있어야한다고 생각한다.
나는 그것이 있어야한다고 생각한다.
$path = 'myfolder/myimage.png'; $type = pathinfo($path, PATHINFO_EXTENSION); $data = file_get_contents($path); $base64 = 'data:image/' . $type . ';base64,' . base64_encode($data);
-
==============================
2.쉬운:
쉬운:
$imagedata = file_get_contents("/path/to/image.jpg"); // alternatively specify an URL, if PHP settings allow $base64 = base64_encode($imagedata);
이 방법은 데이터를 33 % 늘리므로 memory_limit를 초과하는 파일에 문제가 발생할 수 있습니다.
-
==============================
3.이 방법을 사용하여 base64 인코딩 형식으로 이미지를 표현하십시오 ... PHP 함수 file_get_content를 찾고 다음으로 함수 base64_encode를 사용하십시오.
이 방법을 사용하여 base64 인코딩 형식으로 이미지를 표현하십시오 ... PHP 함수 file_get_content를 찾고 다음으로 함수 base64_encode를 사용하십시오.
str을 데이터로 준비하는 결과를 얻습니다. "file_mime_type."base64_encoded string. img src 속성에 사용하십시오. 다음 코드를 참조하여 도움을 받으십시오.
// A few settings $img_file = 'raju.jpg'; // Read image path, convert to base64 encoding $imgData = base64_encode(file_get_contents($img_file)); // Format the image SRC: data:{mime};base64,{data}; $src = 'data: '.mime_content_type($img_file).';base64,'.$imgData; // Echo out a sample image echo '<img src="'.$src.'">';
-
==============================
4.
<img src="data:image/png;base64,<?php echo base64_encode(file_get_contents("IMAGE URL HERE")) ?>">
이 리소스를 사용하려고했지만 오류가 계속 발생했습니다. 위 코드가 완벽하게 작동합니다.
여기 이미지 URL을 이미지의 URL로 대체했습니다. - http://www.website.com/image.jpg
-
==============================
5.어떤 이유로 든 말림이나 file_get_contents를 사용할 수없는 경우에 대비하여 다음과 같이 해결할 수 있습니다.
어떤 이유로 든 말림이나 file_get_contents를 사용할 수없는 경우에 대비하여 다음과 같이 해결할 수 있습니다.
$img = imagecreatefrompng('...'); ob_start(); imagepng($img); $bin = ob_get_clean(); $b64 = base64_encode($bin);
-
==============================
6.아주 간단하고 일반적으로 사용됩니다 :
아주 간단하고 일반적으로 사용됩니다 :
function getDataURI($imagePath) { $finfo = new finfo(FILEINFO_MIME_TYPE); $type = $finfo->file($imagePath); return 'data:'.$type.';base64,'.base64_encode(file_get_contents($imagePath)); } //Use the above function like below: echo '<img src="'.getDataURI('./images/my-file.svg').'" alt="">'; echo '<img src="'.getDataURI('./images/my-file.png').'" alt="">';
참고 : 파일의 Mime-Type이 자동으로 추가됩니다 (이 PHP 문서에서 도움을 얻음).
-
==============================
7.다음은 cURL 호출을 사용하는 예제입니다. 이것은 file_get_contents () 함수보다 낫습니다. 물론 base64_encode ()를 사용하십시오.
다음은 cURL 호출을 사용하는 예제입니다. 이것은 file_get_contents () 함수보다 낫습니다. 물론 base64_encode ()를 사용하십시오.
$url = "http://example.com"; $ch = curl_init($url); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $output = curl_exec($ch); curl_close($ch); ?> <img src="data:image/png;base64,<?php echo base64_encode($output);?>">
-
==============================
8.다음은 업로드하여 MySQL로 인코딩하고 저장하는 코드입니다.
다음은 업로드하여 MySQL로 인코딩하고 저장하는 코드입니다.
if (!isset($_GET["getfile"])) { if ($_FILES["file"]["error"] > 0) { echo "Error: " . $_FILES["file"]["error"] . "<br>"; } else { move_uploaded_file($_FILES["file"]["tmp_name"], $_FILES["file"]["name"]); $bin_string = file_get_contents($_FILES["file"]["name"]); $hex_string = base64_encode($bin_string); $mysqli = mysqli_init(); if (!$mysqli->real_connect('localhost', 'root', '', 'arihant')) { die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error()); } $mysqli->query("INSERT INTO upload(image) VALUES ('" . $hex_string . "')"); } }
이미지를 보여주기 위해 이것을 사용하십시오.
echo "<img src='data:image/jpeg;base64, $image' width=300>";
-
==============================
9.curl로도 할 수 있습니다. 단지 이미지 파일의 경로가 필요하며 아래 주어진 함수로 넘겨 주면됩니다.
curl로도 할 수 있습니다. 단지 이미지 파일의 경로가 필요하며 아래 주어진 함수로 넘겨 주면됩니다.
public static function getImageDataFromUrl($url) { $urlParts = pathinfo($url); $extension = $urlParts['extension']; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_HEADER, 0); $response = curl_exec($ch); curl_close($ch); $base64 = 'data:image/' . $extension . ';base64,' . base64_encode($response); return $base64; }
from https://stackoverflow.com/questions/3967515/how-to-convert-an-image-to-base64-encoding by cc-by-sa and MIT license
'PHP' 카테고리의 다른 글
PHP에서 XML을 JSON으로 변환 (0) | 2018.09.11 |
---|---|
PHP를 사용하여 클라이언트 IP 주소 얻기 [duplicate] (0) | 2018.09.11 |
배열의 최초의 요소를 가져옵니다. (0) | 2018.09.11 |
PHP 코드 파일 용 Lint와 같은 정적 코드 분석기가 있습니까? [닫은] (0) | 2018.09.11 |
PHP와 열거 형 (0) | 2018.09.11 |