4GB이상 파일 업로드 정보
4GB이상 파일 업로드본문
FAT32에서는 업로드가 불가하여 NTFS로 변경하고
php.ini 에서 업로드량을 수정하여도 4GB이상은 올리기가 참 힘드네요.
편법을 사용해서, 1.bin 이라는 1kb 파일을 만들어서 올리고
원본 파을을 해당 게시판 data폴더에 올리고 이름을 바꾸었습니다.
여기까지는 성공.
하지만, 용량은 그대로 1KB로 나와서 DB에서 board_file 에서 해당 파일의
bf_filesize를 4기가 이상으로 변경하고 저장하였는데.... 이게 왠일
DB에는 2147483647 라고 자꾸 바뀝니다.
2147483647 이상 숫자를 쓰면 max가 2147483647 로 잡힌 모양입니다.
int형이라서 그런가요?
댓글 전체
자문 자답이 되었네요 ㅡ.ㅡ;
int를 bigint형으로 바꾸니 해결 되었습니다.
역시 프로그램의 기초를 완벽하게 가꾸어야 된다는 ....
int를 bigint형으로 바꾸니 해결 되었습니다.
역시 프로그램의 기초를 완벽하게 가꾸어야 된다는 ....
이번 기회에 /lib/common.lib.php 의 파일 용량 구하는 함수도 추가 하였습니다.
// 파일의 용량 구하기
function get_filesize($size)
{
//$size = @filesize(addslashes($file));
if ($size >= 1073741824) {
$size = number_format($size/1073741824, 2) . "G";
} else if ($size >= 1048576) {
$size = number_format($size/1048576, 2) . "M";
} else if ($size >= 1024) {
$size = number_format($size/1024, 2) . "K";
} else {
$size = number_format($size, 0) . "byte";
}
return $size;
}
// 파일의 용량 구하기
function get_filesize($size)
{
//$size = @filesize(addslashes($file));
if ($size >= 1073741824) {
$size = number_format($size/1073741824, 2) . "G";
} else if ($size >= 1048576) {
$size = number_format($size/1048576, 2) . "M";
} else if ($size >= 1024) {
$size = number_format($size/1024, 2) . "K";
} else {
$size = number_format($size, 0) . "byte";
}
return $size;
}