이미지 파일, HTML 파일과 같은 바이너리 데이터를 MySQL 데이터베이스에 직접 저장하고 싶다면 이 문서가 적합합니다! HTML 양식을 통해 이러한 파일을 저장하는 방법과 이러한 파일에 액세스하고 사용하는 방법을 보여 드리겠습니다.
이 기사 개요:
. mysql
에서 새 데이터베이스를 생성합니다. 파일 저장 방법에 대한 예제 프로그램
. 파일에 액세스하는 방법에 대한 예제 프로그램
mysql에 새 데이터베이스 만들기
먼저 mysql에 새 데이터베이스를 만들어야 합니다. 해당 바이너리 파일을 이 데이터베이스에 저장합니다. 예제에서는 다음 구조를 사용합니다. 데이터베이스를 생성하려면
다음 단계를 수행해야 합니다.
. MySql 컨트롤러
를 입력하세요. "데이터베이스 바이너리_데이터 생성
" 명령을 입력합니다. "binary_data 사용"
명령을 입력하세요.
"CREATE TABLE 바이너리_데이터(ID INT(4) NOT NULL AUTO_INCREMENT PRIMARY KEY, 설명 CHAR(50), bin_data LONGBLOB, 파일 이름 CHAR(50), 파일 크기 CHAR(50), 파일 유형 CHAR(50)) 명령을 입력합니다. " (줄바꿈 불가)
사고가 없으면 데이터베이스와 테이블을 구축해야 합니다.
파일 저장 방법에 대한 예제 프로그램
이 예제를 사용하면 HTML 형식을 통해 파일을 데이터베이스로 전송할 수 있습니다.
store.php3
// store.php3 - by Florian Dittmer
?>
// 양식이 제출되면 코드가 실행됩니다. 🎜> if ($submit) {
// 데이터베이스에 연결
// (호스트 이름, 사용자 이름 및 비밀번호를 조정해야 할 수도 있습니다)
MYSQL_CONNECT( "localhost", "root", "password ");
mysql_select_db( "binary_data");
$data = addlashes(fread(fopen($form_data, "r"), filesize($form_data)));
$result=MYSQL_QUERY( " INSERT INTO Binary_data (설명,bin_data,filename,filesize,filetype)
[이전 줄에서 계속:] VALUES ($form_description,$data,$form_data_name,$form_data_size,$form_data_type)");
$id = mysql_insert_id();
print "
이 파일의 데이터베이스 ID는 $id입니다.";
MYSQL_CLOSE();
} else {
// 그렇지 않으면 저장할 양식을 표시합니다. 새로운 데이터
?>
파일 설명:
데이터베이스에 업로드/저장할 파일:
}
?> 간단한 Html 양식이 표시되면 찾아보기를 클릭하여 파일을 선택한 다음 제출을 클릭하세요.
파일이 웹 서버에 업로드되면 프로그램은 방금 업로드한 파일의 ID를 알려줍니다. 나중에 사용할 수 있도록 이 ID를 기억해 두세요.
파일 액세스 방법에 대한 샘플 프로그램
이 프로그램을 통해 방금 저장한 파일에 액세스할 수 있습니다.
// getdata.php3 - by Florian Dittmer
if($id) {
// 호스트 이름, 사용자 이름 및 비밀번호를 조정해야 할 수도 있습니다:
@MYSQL_CONNECT( "localhost", "root", " 비밀번호" );
@mysql_select_db( "binary_data");
$query = "id=$id인 바이너리_데이터에서 bin_data,filetype 선택";
$result = @MYSQL_QUERY($query);
$ data = @MYSQL_RESULT($result,0, "bin_data");
$type = @MYSQL_RESULT($result,0, "filetype")
Header( "콘텐츠 유형: $type") ;
echo $data
};
?>
프로그램은 액세스할 파일을 알아야 하며 ID를 매개변수로 전달해야 합니다.
예: 데이터베이스의 파일 ID는 2입니다. 다음과 같이 호출할 수 있습니다.
getdata.php3?id=2
이미지를 데이터베이스에 저장하는 경우 호출할 수 있습니다. 이미지를 호출하는 것과 같습니다.
예: 데이터베이스에서 이미지 파일의 ID는 3입니다.
1MB보다 큰 파일을 저장하는 방법:
1MB보다 큰 파일을 저장하려면 다음을 수행해야 합니다. 프로그램, PHP 설정, SQL 설정을 구성하여 많은 수정을 가하세요.
다음 항목은 24MB보다 작은 파일을 저장하는 데 도움이 될 수 있습니다.
1. store.php3을 수정하고 MAX_FILE_SIZE 값을 24000000으로 변경합니다.
2. PHP 설정을 수정하세요. 일반적인 상황에서는 PHP가 2MB보다 작은 파일만 허용합니다. php.ini의 max_filesize 값을 24000000으로 변경해야 합니다.
3. 일반적인 상황에서는 MYSQL 패킷 크기 제한을 제거하세요. 1MB 미만의 데이터 패킷입니다.
4. 다음 매개변수를 사용하여 MYSQL을 다시 시작해야 합니다.
/usr/local/bin/safe_mysqld -O key_buffer=16M -O table_cache=128 -O sort_buffer =4M -O Record_buffer=1M -O max_allowed_packet=24M
5. 그래도 오류가 발생하는 경우:
매우 느린 연결로 대용량 파일을 저장하는 경우 PHP의 기본 시간은 30초입니다. max_execution_time(php.ini에서) 값을 -1로 변경할 수 있습니다.
[관련 권장 사항]
2. 다른 데이터베이스의 테이블을 삭제하는 SQL 문을 작성하는 방법에 대한 자세한 설명
3. 한 머신을 사용하여 여러 MySQL 서비스를 실행하는 방법을 가르쳐줍니다
4. 가상 호스트가 없는 소규모 MySQL 데이터베이스 백업 스크립트
5. mysqldump를 사용하여 테이블을 백업하고 복원하는 자세한 예
위 내용은 MySQL에 이미지를 저장하는 PHP의 예에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!