백엔드 개발 PHP 튜토리얼 PHP는 사진을 자르고 mysql에 저장합니다.

PHP는 사진을 자르고 mysql에 저장합니다.

Aug 08, 2016 am 09:30 AM
encode query quot

PHP를 사용하여 이미지를 처리할 때 이미지를 잘라야 하는 경우가 많습니다. 잘린 사진을 mysql 데이터베이스에 저장하는 방법은 흥미로운 질문입니다. 먼저 업로드된 파일을 받아옵니다:
$picFile = $_FILES["picFileName"];
$picType = $picFile["type"];  
$picData = file_get_contents($tempFile);  
로그인 후 복사
이미지 크기를 변경할 필요 없이 바로 mysql에 저장한다면 아래와 같이 간단하게 구현하면 됩니다
$tempFile = $picFile["tmp_name"];  
$picData = base64_encode($picData);  

$query = "INSERT INTO image  
   (imgid, image, imgtype) 
   values( 
       null, 
       '$picData', 
       '$picType' 
    );"; 
$link->query($query);
로그인 후 복사
그러나 이미지 크기를 변경하고 문자 스트림 형태로 이미지 데이터를 얻으려면 약간의 트릭이 필요합니다.
먼저 이미지 자르기를 완료하고 이미지 객체를 얻습니다
list($picW, $picH) = getimagesize($tempFile);  
if($picW>600){ //超出大小  
    $src = imagecreatefromjpeg($tempFile); //获取原图数据  
    $nW =550;  
    $nH = $picH*$nW/$picW;  
    $newPicTemp = imagecreatetruecolor($nW,$nH);  //创建彩色图片对象  
    imagecopyresampled($newPicTemp,$src,0,0,0,0,$nW,$nH,$picW,$picH);  
}
로그인 후 복사
이 단계 후에 newPicTemp는 리소스 유형 image data가 됩니다. 여기서 문제가 발생합니다. 위의 코드를 관찰하면 file_get_contents에서 반환된 유형은 base64_encode의 매개변수 유형이기도 합니다. 리소스를 문자열 유형으로 변환하는 방법. 연구한 결과, PHP에는 출력 버퍼의 내용을 문자열 형식으로 반환하는
string ob_get_contents ( void )
로그인 후 복사
함수가 있다는 것을 알았습니다.
그래서 아이디어는 리소스 이미지를 버퍼에 출력한 다음 개체를 사용하여 해당 콘텐츠를 얻는 것입니다. 코드는 다음과 같습니다
ob_start(); //开启输出缓冲区  
imagejpeg($newPicTemp); //这个函数可以显示出图片,同时也是把数据输出  
$imgContent = ob_get_contents(); //获取字符流  
ob_end_clean();  //关闭并清除缓冲区  

$picData = base64_encode($imgContent); //不要忘记转码
로그인 후 복사
이렇게 하면 크기가 변경된 후 이미지 문자 스트림을 얻을 수 있으며 이는 mysql에 저장할 수 있습니다
마지막으로 임시 데이터를 삭제합니다
imagedestroy($src);  
imagedestroy($newPicTemp);
로그인 후 복사
읽어야 한다면 다음 코드
$query = "SELECT image, imgtype from image where imgid = $imgid ;";  
$result = $link->query($query);  
$row = mysqli_fetch_array($result);  
$data = base64_decode( $row["image"]);  
$type = $row["imgtype"];  
  
ob_clean();  
header("Content-Type:'$type'");  
echo $data;  
로그인 후 복사
를 사용하면 됩니다. 여러 주요 기능에 ob 로고가 포함되어 있음을 알 수 있습니다. ob는 PHP에서 매우 중요하고 유용한 도구인 출력 버퍼입니다. php.net 참조

위 내용은 관련 측면을 포함하여 사진을 자르고 mysql에 저장하는 PHP에 대한 소개입니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

끌어서 놓기를 통해 파워 쿼리에서 여러 열의 순서를 바꾸는 방법 끌어서 놓기를 통해 파워 쿼리에서 여러 열의 순서를 바꾸는 방법 Mar 14, 2024 am 10:55 AM

이 문서에서는 끌어서 놓기를 통해 PowerQuery에서 여러 열의 순서를 바꾸는 방법을 보여줍니다. 다양한 소스에서 데이터를 가져올 때 열의 순서가 원하는 순서가 아닌 경우가 많습니다. 열을 다시 정렬하면 분석 또는 보고 요구 사항에 맞는 논리적 순서로 열을 정렬할 수 있을 뿐만 아니라 데이터의 가독성이 향상되고 필터링, 정렬, 계산 수행 등의 작업 속도가 빨라집니다. Excel에서 여러 열을 다시 정렬하는 방법은 무엇입니까? Excel에서 열을 재정렬하는 방법에는 여러 가지가 있습니다. 열 머리글을 선택하고 원하는 위치로 끌기만 하면 됩니다. 그러나 이 접근 방식은 많은 열이 포함된 대규모 테이블을 처리할 때 번거로울 수 있습니다. 열을 보다 효율적으로 다시 정렬하려면 향상된 쿼리 편집기를 사용할 수 있습니다. 쿼리 개선

React Query 데이터베이스 플러그인: 데이터를 가져오고 내보내는 방법 React Query 데이터베이스 플러그인: 데이터를 가져오고 내보내는 방법 Sep 26, 2023 pm 05:37 PM

ReactQuery 데이터베이스 플러그인: 데이터 가져오기 및 내보내기를 구현하는 방법에는 특정 코드 예제가 필요합니다. 프론트 엔드 개발에서 ReactQuery가 널리 적용됨에 따라 점점 더 많은 개발자가 이를 사용하여 데이터를 관리하기 시작했습니다. 실제 개발에서는 데이터를 로컬 파일로 내보내거나 로컬 파일의 데이터를 데이터베이스로 가져와야 하는 경우가 많습니다. 이러한 기능을 보다 편리하게 구현하기 위해서는 ReactQuery 데이터베이스 플러그인을 사용할 수 있습니다. ReactQuery 데이터베이스 플러그인은 일련의 메소드를 제공합니다.

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

파워 쿼리를 사용하여 데이터를 NTFS로 분할하는 방법 파워 쿼리를 사용하여 데이터를 NTFS로 분할하는 방법 Mar 15, 2024 am 11:00 AM

이 문서에서는 PowerQuery를 사용하여 데이터를 행으로 분할하는 방법을 소개합니다. 다른 시스템이나 소스에서 데이터를 내보낼 때 데이터가 여러 값을 결합하는 셀에 저장되는 상황이 발생하는 것이 일반적입니다. PowerQuery를 사용하면 이러한 데이터를 행으로 쉽게 분할하여 데이터를 더 쉽게 처리하고 분석할 수 있습니다. 이는 사용자가 Excel의 규칙을 이해하지 못하고 실수로 셀에 여러 데이터를 입력한 경우 또는 다른 소스에서 복사/붙여넣을 때 데이터 형식이 올바르게 지정되지 않은 경우 발생할 수 있습니다. 이 데이터를 처리하려면 분석 또는 보고를 위한 정보를 추출하고 구성하기 위한 추가 단계가 필요합니다. PowerQuery에서 데이터를 분할하는 방법은 무엇입니까? PowerQuery 변환은 단어와 같은 다양한 요소를 기반으로 할 수 있습니다.

지식 강화 및 사전 학습된 대형 모델 기반 쿼리 의도 인식 지식 강화 및 사전 학습된 대형 모델 기반 쿼리 의도 인식 May 19, 2023 pm 02:01 PM

1. 배경 소개 기업 디지털화는 인공지능, 빅데이터, 클라우드 컴퓨팅 등 차세대 디지털 기술을 활용하여 기업의 비즈니스 모델을 변화시켜 기업 비즈니스의 새로운 성장을 촉진하는 것을 의미합니다. . 기업 디지털화에는 일반적으로 비즈니스 운영의 디지털화와 기업 관리의 디지털화가 포함됩니다. 이러한 공유는 주로 기업 관리 수준의 디지털화를 도입합니다. 간단히 말해서 정보 디지털화는 디지털 방식으로 정보를 읽고, 쓰고, 저장하고, 전송하는 것을 의미합니다. 이전의 종이 문서에서 현재의 전자 문서, 온라인 협업 문서에 이르기까지 정보의 디지털화는 오늘날 사무실의 새로운 표준이 되었습니다. 현재 Alibaba는 비즈니스 협업을 위해 DingTalk Documents 및 Yuque Documents를 사용하고 있으며 온라인 문서 수가 2천만 개 이상에 도달했습니다. 또한 많은 기업이 내부적으로

React 쿼리 데이터베이스 플러그인: 데이터 백업 및 복원 전략 React 쿼리 데이터베이스 플러그인: 데이터 백업 및 복원 전략 Sep 28, 2023 pm 11:22 PM

ReactQuery 데이터베이스 플러그인: 데이터 백업 및 복원을 구현하기 위한 전략, 구체적인 코드 예제가 필요합니다. 소개: 현대 웹 개발에서 데이터 백업 및 복원은 매우 중요한 작업입니다. 특히 ReactQuery와 같은 상태 관리 도구를 사용할 때는 데이터 보안과 안정성을 보장해야 합니다. 이 기사에서는 데이터 백업 및 복원 전략을 구현하기 위한 ReactQuery 기반 데이터베이스 플러그인을 소개하고 구체적인 코드 예제를 제공합니다. ReactQu

CES 2022: Schlage, Apple 홈 키 기능을 갖춘 Encode Plus Deadbolt 출시 CES 2022: Schlage, Apple 홈 키 기능을 갖춘 Encode Plus Deadbolt 출시 May 23, 2023 pm 06:55 PM

iOS 15에 도입된 Wallet 기능 중 하나는 홈 버튼 지원으로, 이를 통해 사용자는 iPhone 및 Apple Watch의 Wallet 앱에 HomeKit 도어락 호환 디지털 키를 추가할 수 있습니다. 이 시스템을 사용하면 사용자는 장치를 잠금 장치에 가까이 갖다 대기만 하면 NFC 연결을 통해 집의 잠금을 빠르게 해제할 수 있습니다. Schlage는 오늘 Apple의 홈 키 시스템을 지원하는 북미 최초의 스마트 잠금 장치인 Schlage Encode Plus Smart WiFi Deadbolt를 출시했습니다. EncodePlus는 기존의 "HomeKit" 데드볼트로 작동하고 Wi-Fi를 통해 작동하므로 별도의 장치가 필요하지 않습니다.

React 쿼리 데이터베이스 플러그인: 데이터 압축 및 압축 해제 팁 React 쿼리 데이터베이스 플러그인: 데이터 압축 및 압축 해제 팁 Sep 26, 2023 pm 08:03 PM

ReactQuery 데이터베이스 플러그인: 데이터 압축 및 압축 해제 구현을 위한 팁, 특정 코드 예제 필요 소개: 최신 웹 애플리케이션 개발에서는 대량의 데이터 쿼리를 처리하는 것이 일반적인 작업입니다. ReactQuery는 데이터 쿼리와 상태를 관리하는 간단하고 직관적인 방법을 제공하는 강력한 라이브러리입니다. ReactQuery 자체는 이미 매우 훌륭하지만, 대용량 데이터를 처리할 때 성능을 향상하고 저장 공간을 최적화하기 위해 몇 가지 추가 트릭을 고려해야 할 수도 있습니다. 이 글에서 소개할

See all articles