내 응용 프로그램에서 사용자는 자신의 사진 앨범을 만들 수 있습니다.이미지 업로드 스크립트 (PHP)
제 질문은 업로드 한 사용자 ID에 해당하는 이미지를 어떻게 업로드 할 수 있습니까? 즉, 이러한 이미지가이 사용자에게 속해 있음을 나타내는 몇 가지 기준이 있어야합니다.
사용자 ID의 이미지 이름으로 이미지를 저장할 수 있다고 생각했지만,이 경우 이미지와 함께 주석을 저장하는 것이 어려울 수 있습니다.
더 좋은 방법이 있습니까?
내 응용 프로그램에서 사용자는 자신의 사진 앨범을 만들 수 있습니다.이미지 업로드 스크립트 (PHP)
제 질문은 업로드 한 사용자 ID에 해당하는 이미지를 어떻게 업로드 할 수 있습니까? 즉, 이러한 이미지가이 사용자에게 속해 있음을 나타내는 몇 가지 기준이 있어야합니다.
사용자 ID의 이미지 이름으로 이미지를 저장할 수 있다고 생각했지만,이 경우 이미지와 함께 주석을 저장하는 것이 어려울 수 있습니다.
더 좋은 방법이 있습니까?
데이터베이스를 사용하고 있지 않습니까?
어떤 경우
가 사용자 정보를 저장하는 데이터베이스를 설정하지, 다음 iamges와 사용자 간의 논리적 연결을 만듭니다. 예를 들어사용자 :
|---------------------------------------
| UserId Username Password |
|---------------------------------------
| 1 Robert 3j9745t3 |
| 2 Paul 03945u30 |
|---------------------------------------
이미지 :
|--------------------------------------------------
| ImageID UserId Desc ImageHash |
|-------------------------------------------------|
| 1 1 Some Desc 87ytr8d23yr|
| 2 1 Some Desc 5uty4095u40|
|-------------------------------------------------|
그런 다음 87ytr8d23yr.png
같은 이미지 디렉토리에 이미지를 저장 한 다음 이렇게
$userid = 1;
$sql = "SELECT * FROM Images WHERE UserId = " . (int) $userid . " ORDER BY ImageID LIMIT 10";
if(false !== ($resource = mysql_query($sql)))
{
while($imageRow = mysql_fetch_object($resource))
{
if(file_exists('imageDir/' . $imageRow->ImageHash . '.png'))
{
//Do whatever.
}else
{
//Delete the row and inform the user that the picture has been deleted for some reason.
}
}
}
또한 주석 테이블을 작성하고 ImageId를 추가하면됩니다. 사용자가 이미지에 주석을 추가하면 이미지를 주석 행에 추가하여 추적 할 수 있습니다.
자주 사용되는 해결책은 각 이미지에 대한 두 개의 데이터를 가지고있다 : 데이터베이스
기록에 물론
이 방법을 사용하면 각 이미지에 추가 데이터가 있으며이를 사용하여 애플리케이션에 동작을 추가 할 수 있습니다.
물론 사용자가 이미지를 업로드 할 때 좀 더 많은 작업을해야한다는 것을 의미합니다.하지만 그렇게 나쁘지는 않으며 유용하다고 입증 될 수 있습니다.
필요로 할 때, 너무, 당신은 예를 들어, 데이터베이스의 테이블과 같은, 그 데이터를 저장하는 다른 필드를 추가 할 수 있습니다 : 각 이미지를 볼 수있는 사용자에 대한
감사합니다 파스칼 나는 당신의 요지를 가지고 있지만 나를 좀 더 많은 아이디어를 줄 수있는 몇 가지 샘플 코드 또는 링크를 제공 할 수 있습니다 – nectar
을 필요로 할 때마다이없는하려면? 사용자가 로그인 했습니까? 이미지를 추적하고 사용자 ID 열을 포함하고 전체 이미지를 데이터베이스에 저장하거나 이미지 경로 이름 만 저장하는 테이블을 만듭니다.
당신이 대답으로 선택한대로 당신은 연구해야 할 몇 가지 것들을 알려주는 데이터베이스 보안 ('mysql_real_escape_string' 및 SQL 인젝션), 테이블 조인, 이미지 보안 (헤더를 사용하여 이미지 유형, png, jpg 등을 푸시). :) 행복한 날들 – RobertPitt