2011-12-24 3 views
2

사용자가 이미지를 업로드 할 때 해당 이미지의 크기를 3 가지 크기로 조정합니다. 다른 열에서 User9876/ImageName 및 확장 : 같은 데이터베이스에 하나 개의 컬럼에
데이터베이스에 이미지 경로 저장

1) 이미지 저장 경로 : 나는 무엇을 더 나은 옵션을 결정할 수 없습니다. 데이터베이스에서 사용자 프로필 데이터를 가져올 때 다른 이미지 크기에 대한 세 가지 속성을 가진 비즈니스 개체가 있습니다. 그리고 코드에서 내가 좋아하는 데이터베이스에서 이미지 경로에 확장자를 추가하여이 속성을 채우기 :

User9876/ImageName_Original.jpg 
User9876/ImageName_Small.jpg 
User9876/ImageName_Smallest.jpg 

2) 아니면 각각의 크기에 대한 데이터베이스에서 세 개의 열을 가지고 더 나은 무엇입니까? 추천

답변

2

커플 : 당신이 특정 확장자에 대한 쿼리 계획하지 않는

  1. 는 별도로 확장을 보관하지 마십시오. 진정한 이득을 얻지 못할 정도로 복잡성을 더합니다.

  2. 이미지 크기 코드를 이미지 테이블에 ID로 저장합니다. 이렇게하면 전체 테이블에서 업데이트 문을 실행하지 않고도 이미지 코드를 업데이트/편집 할 수 있습니다.

    나타난 이미지를 생성

    ( id INT (11)에 서명하지 널 AUTO_INCREMENT, path VARCHAR (255)는 null하지 size_code_id SMALLINT (3) 널되지 PRIMARY KEY (id) ) 엔진 =의 MyISAM 기본 문자셋 = utf8;

예 행 :

1 | user9876/imagename_og.jpg | 1 
2 | user9876/imagename_me.jpg | 2 
3 | user9876/imagename_sm.jpg | 3 

이 디자인을 사용하면 파일 이름을 구문 분석 할 필요없이 '작은'이미지를 조회 할 수 있습니다, 그러나 당신은 여전히 ​​매체에서 작은 이미지의 차이를 만들 수 있습니다 파일 시스템에있는 원본 이미지.

1

질문에 대한 답변은 다른 질문을 던져서 찾을 수 있습니다. 나중에 3 가지가 아니라 4 가지 이미지 크기를 선택하면 어떻게 될지 생각해보십시오. 분명히 전체 데이터베이스를 재구성 할 필요가없는 솔루션이 더 좋습니다.

관련 문제