PHP 파일 업로드 PHP 파일을 데이터베이스에 업로드
PHP는 어떻게 파일을 데이터베이스에 업로드합니까? 다음은 몇 가지 예입니다. MySQL 데이터베이스에 파일을 저장하는 방법과 PHP에서 파일을 업로드하고 데이터베이스에 저장하는 방법을 익히세요.
php 데이터베이스에 파일 업로드 이 파일을 저장하기 위해 데이터베이스에 longblob 필드를 생성하는 것 이상입니다. 다만, 4~5m 크기의 파일을 업로드할 경우 주의해야 할 문제가 있습니다 1. php.ini 수정 포스트_최대_크기 upload_max_filesize2개의 매개변수 값은 업로드해야 하는 파일 크기보다 크게 설정하세요 2, my.cnf 수정 mysql 데이터베이스의 max_allowed_packet 매개변수 값을 수정합니다. 이 매개변수의 의미: max_allowed_packet 가방의 최대 크기입니다. 메시지 버퍼는 net_buffer_length 바이트로 초기화되지만 필요한 경우 max_allowed_packet 바이트로 늘릴 수 있습니다. 기본적으로 이 값은 너무 작아서 큰(잘못된) 패킷을 캡처할 수 없습니다. 큰 Blob 열을 사용하는 경우 이 값을 늘려야 합니다. 사용하려는 가장 큰 blob만큼 커야 합니다. 1. PHP는 데이터베이스에 이미지를 업로드합니다. 3개의 PHP 파일을 만듭니다. readdir.php - 이미지를 데이터베이스에 저장하는 코드 image.php - 실제 이미지를 표시하는 코드 view.php - 데이터베이스에서 이미지를 호출하는 방법을 보여주는 코드 1. 데이터베이스를 만듭니다. 테이블 `이미지` 생성( `imgid` int는 null이 아닙니다. `sixfourdata` 긴 텍스트가 null이 아닙니다. 기본 키(`imgid`) );readdir.php 세부정보: $dbcnx = mysql_connect("localhost", "username", "password"); mysql_select_db("base64imgdb"); ?> '디렉토리를 열어야 합니다. "./" 'readdir.php 파일은 다음 디렉토리에 있습니다: $경로 = "./"; $dir_handle = opendir($path) 또는 die("$path 디렉토리를 열 수 없습니다");이미지를 분류하고 사용되는 일부 데이터를 읽어보세요. fopen '전환하다 base64_encode '테이블에 삽입 while ($file = readdir($dir_handle)) { $filetyp = substr($file, -3); if ($filetyp == 'gif' or $filetyp == 'jpg') { $handle = fopen($path . "/" . $file,'r'); $file_content = fread($handle,filesize($path . "/" . $file)); fclose($handle); $encoded = chunk_split(base64_encode($file_content)); $sql = "insert into images set sixfourdata='$encoded'"; mysql_query($sql); } } ?>설정된 디렉토리를 닫은 후 다음을 처리하세요. closedir($dir_handle); echo("complete"); mysql_close($dbcnx); ?>이미지를 읽는 코드: image.php $dbcnx = mysql_connect("localhost", "username", "password"); mysql_select_db("base64imgdb"); ?>이미지 image.php?img=x를 읽는 데 사용되는 코드: $img = $_request["img"]; ?>그런 다음 데이터베이스에 연결하여 읽어야 합니다. $result = mysql_query("select * from images where imgid=" . $img . ""); if (!$result) { echo("요청 오류: " . mysql_error() . ""); 출구(); } while ($row = mysql_fetch_array($result)) { $imgid = $row["imgid"]; $encodeddata = $row["sixfourdata"]; } ?> mysql_close($dbcnx); echo base64_decode($encodeddata); ?> base64로 인코딩된 이미지 데이터 형식을 이해합니다.
"구체적인 사진을 살펴보자! view.php"
image.php?img=1
image.php?img=357
readdir.php: ############################## # DB 연결 # 이 값을 변경합니다 ############################## $dbcnx = mysql_connect("localhost", "사용자 이름", "비밀번호"); mysql_select_db("base64imgdb"); ############################### # db connection # change these values ############################### $dbcnx = mysql_connect("localhost", "username", "password"); mysql_select_db("base64imgdb"); $path = "./"; $dir_handle = opendir($path) 또는 die("$path 디렉토리를 열 수 없습니다"); while ($file = readdir($dir_handle)) { $filetyp = substr($file, -3); if ($filetyp == 'gif' 또는 $filetyp == 'jpg') { $handle = fopen($file,'r'); $file_content = fread($handle,filesize($file)); fclose($handle); $인코딩=chunk_split(base64_encode($file_content)); $sql = "sixfourdata='$encoded'로 설정된 이미지에 삽입""; mysql_query($sql); } } closedir($dir_handle); echo("완료"); mysql_close($dbcnx); ?> image.php: $dbcnx = mysql_connect("localhost", "사용자 이름", "비밀번호"); $dbcnx = mysql_connect("localhost", "username", "password"); mysql_select_db("base64imgdb"); $img = $_request["img"]; $result = mysql_query("imgid=" . $img . ""); if (!$result) { echo("쿼리 수행 중 오류 발생: " . mysql_error() . ""); 출구(); } while ($row = mysql_fetch_array($result) ) { $imgid = $row["imgid"]; $encodeddata = $row["sixfourdata"]; } mysql_close($dbcnx); echo base64_decode($encodeddata); ?> view.php (이 글은 올릴 필요가 없을 것 같네요..) ..2. PHP에서 파일을 업로드하고 데이터베이스에 저장하는 방법 1. show_info.php
$num=mysql_num_rows($result); if($num $data = mysql_result($result,0,"file_data"); $type = mysql_result($result,0,"file_type"); $name = mysql_result($result,0,"file_name"); mysql_close($conn); //먼저 해당 파일 헤더를 출력하고 원래 파일명을 복원합니다. header("콘텐츠 유형:$type"); header("콘텐츠 처리: 첨부 파일; 파일 이름=$name"); 에코 $ 데이터; ?> 2.show_info.php
$sql = "id=$id인 경우 수신에서 file_name,file_size를 선택합니다."; $result = mysql_query($sql,$conn); if(!$result) die(" 오류: mysql 쿼리"); //지정된 레코드가 없으면 오류가 보고됩니다. $num=mysql_num_rows($result); if($num //다음 두 문장의 프로그램도 이렇게 쓸 수 있습니다. //$row=mysql_fetch_object($result); //$이름=$행->이름; //$size=$row->크기; $name = mysql_result($result,0,"파일_이름"); $size = mysql_result($result,0,"file_size"); mysql_close($conn); echo " 업로드된 파일 정보:"; echo " 파일 이름 - $name"; echo " 파일 크기 - $size"; echo " 첨부파일"; ?> 3.submit.php
$myfile=$_files["myfile"]; //타임아웃 제한 시간을 설정합니다. 기본 시간은 30초입니다. 0으로 설정하면 시간 제한이 없습니다. $time_limit=60; set_time_limit($time_limit) // //파일 내용을 문자열로 읽어옵니다. $fp=fopen($myfile['tmp_name'], "rb"); if(!$fp) die("파일 열기 오류"); $file_data = addlashes(fread($fp, filesize($myfile['tmp_name']))); fclose($fp); unlink($myfile['tmp_name']); //파일 형식, 이름, 크기 $file_type=$myfile["유형"]; $file_name=$myfile["이름"]; $file_size=$myfile["크기"]; 죽다($file_type); //데이터베이스에 연결하고 파일을 데이터베이스에 저장합니다. $conn=mysql_connect("localhost","루트","관리자"); if(!$conn) die("오류 : mysql 연결 실패"); mysql_select_db("nokiapayplat",$conn); $sql="수신에 삽입 (파일_데이터, 파일_유형, 파일_이름, 파일_크기) 값 ('$file_data','$file_type','$file_name',$file_size)"; $result=mysql_query($sql,$conn); //다음 문장은 방금 삽입문의 ID를 꺼냅니다. $id=mysql_insert_id(); mysql_close($conn); set_time_limit(30); //기본 시간 초과 설정 복원 echo "업로드 성공---"; echo "업로드된 파일 정보 표시"; } 또 다른 { echo "파일을 업로드하지 않으셨습니다."; } ?> 4.php.php 업로드 |

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











Alipay PHP ...

JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적,

세션 납치는 다음 단계를 통해 달성 할 수 있습니다. 1. 세션 ID를 얻으십시오. 2. 세션 ID 사용, 3. 세션을 활성 상태로 유지하십시오. PHP에서 세션 납치를 방지하는 방법에는 다음이 포함됩니다. 1. 세션 _regenerate_id () 함수를 사용하여 세션 ID를 재생산합니다. 2. 데이터베이스를 통해 세션 데이터를 저장하십시오.

PHP 개발에서 견고한 원칙의 적용에는 다음이 포함됩니다. 1. 단일 책임 원칙 (SRP) : 각 클래스는 하나의 기능 만 담당합니다. 2. Open and Close Principle (OCP) : 변경은 수정보다는 확장을 통해 달성됩니다. 3. Lisch의 대체 원칙 (LSP) : 서브 클래스는 프로그램 정확도에 영향을 미치지 않고 기본 클래스를 대체 할 수 있습니다. 4. 인터페이스 격리 원리 (ISP) : 의존성 및 사용되지 않은 방법을 피하기 위해 세밀한 인터페이스를 사용하십시오. 5. 의존성 반전 원리 (DIP) : 높고 낮은 수준의 모듈은 추상화에 의존하며 종속성 주입을 통해 구현됩니다.

시스템이 다시 시작된 후 UnixSocket의 권한을 자동으로 설정하는 방법. 시스템이 다시 시작될 때마다 UnixSocket의 권한을 수정하려면 다음 명령을 실행해야합니다.

phpstorm에서 CLI 모드를 디버그하는 방법은 무엇입니까? PHPStorm으로 개발할 때 때때로 CLI (Command Line Interface) 모드에서 PHP를 디버그해야합니다 ...

정적 바인딩 (정적 : :)는 PHP에서 늦은 정적 바인딩 (LSB)을 구현하여 클래스를 정의하는 대신 정적 컨텍스트에서 호출 클래스를 참조 할 수 있습니다. 1) 구문 분석 프로세스는 런타임에 수행됩니다. 2) 상속 관계에서 통화 클래스를 찾아보십시오. 3) 성능 오버 헤드를 가져올 수 있습니다.

PHP 개발에서 PHP의 CURL 라이브러리를 사용하여 JSON 데이터를 보내면 종종 외부 API와 상호 작용해야합니다. 일반적인 방법 중 하나는 컬 라이브러리를 사용하여 게시물을 보내는 것입니다 ...
