2011-08-26 3 views
0

사용자가 광고하는 제품에 사진을 추가 할 수있는 사이트를 만드는 데 도움이 필요합니다. 제 문제는 각 사용자의 사진을 저장하는 방법과 위치, 사진 (사진)에 대한 액세스를 만드는 방법을 모르는 것입니다. 이 문제를 해결하는 가장 일반적인 방법은 무엇입니까 ??사진 및 데이터베이스 작업

좋은 생각이라면 어떻게 php 또는 javascript 또는 jquery를 사용하여 각 사용자의 사진에 대해 폴더를 만들 수 있습니까 ??

+1

"php 또는 javascript 또는 jquery를 사용하고 있습니다."라고 묻는 것이므로 조금만 생각한 것 같습니다. –

+0

많은 일반적인 방법이 있습니다. 데이터베이스에 저장하는 것은 하나입니다. 디스크에 저장하는 것은 또 다른 방법입니다. 글쎄, 그게 사실이야. :-)하지만 Diodeus에 동의해야합니다. JQuery가 실제 사진을 저장하는 데 도움이된다고 생각된다면 한 걸음 뒤로 물러나 야합니다. – GolezTrol

답변

1

사진을 디스크에 간편하게 저장할 수 있으면 편리합니다. 폴더 이미지/제품

DB에 이미지 정보를 저장 [imageID, imageSize,에 imagetype]

는 user_id_image_id_product_id.jpg 예를 들어, 같은 디스크에 이미지를 저장

954_231_312.jpg

중복이있을 실 거예요. 이미지는 다음 제품

update tbl_images set name = 'user_id_image_id_product_id.jpg' where image_id='image_id' 

또는 서버는 데이터베이스에 저장할 수 있습니다 충분히 강한 경우 관련 이미지를 얻을, 그것에서 쉽게 이름을 넣어 DB에서 레코드를 업데이트되어 저장

. 데이터베이스에 저장하면 하나의 프로세스가 더 쉬워지고 백업이됩니다. db가 아닌 이미지 폴더 만 백업해야하지만 더 빠른 방법은 파일 시스템입니다.

0

사용자가 사진과 다른 파일을 업로드 할 수있는 저장소 폴더를 만들어서 시작할 수 있습니다.
사용자가 무언가를 업로드하면 리포지토리에 따라 어딘가에 파일을이 저장소에 저장하게됩니다. 트리 (각 사용자 파일을 관리하는 방법). 이미 저장소에 폴더가 없으면 사용자의 ID로 폴더를 생성하고 거기에 파일을 저장할 수 있습니다.

업로드되면 업로드 된 파일의 파일 이름을 데이터베이스에 보관해야합니다. 그리고 나서 파일을 삭제하거나 찾을 필요가있을 때 사용자의 파일 이름을 찾으십시오.

0

@Senad Meskkin은 데이터베이스에 사진을 저장하는 것을 제외한 모든 것에 동의합니다. 좋은 생각이지만 데이터베이스는 빠르게 커질 것입니다. 데이터베이스가 클수록 백업 시간이 길어집니다.

또한 데이터베이스에서 이미지를 제공 할 때마다 데이터베이스에서 파일을 가져 와서 사용자에게 전달하기 위해 PHP 또는 다른 언어를 사용해야합니다. 올바른 파일 형식/MIME 형식 헤더 등.

많은 수의 큰 파일을 데이터베이스에서 꺼내서 최종 사용자에게 반환하는 동안 메모리에 저장하는 경우 서버 메모리를 상당히 빨리 사용할 수 있습니다.

이미지를 폴더에 저장하고 공개하는 경우 URL을 지정하면 누구나 PHP에서 처리 할 필요없이 직접 HTML에서 볼 수 있습니다.

이미지에 대한 액세스를 제어해야하는 경우 먼저 신원을 확인한 다음 passthru와 같은 PHP 함수를 사용하여 최소한의 처리 오버 헤드로 파일을 반환 할 수 있습니다. sendfile과 같이 설치할 수있는 추가 apache 모듈도 있습니다.이 파일도 속도가 빨라집니다.

관련 문제