2011-07-27 3 views
0

지금은 사용자가 내 서버의 로컬 디렉토리에 저장된 파일을 업로드 할 수있는 웹 사이트가 있습니다. 파일이 업로드 된 후에, 나는 두 개의 자바 프로그램을 사용하여 사용자를위한 HTML 파일을 생성하기 위해 많은 비용이 드는 작업을 수행한다. 이러한 작업이 너무 비싸기 때문에 SHA256을 사용하여 업로드 된 모든 파일의 데이터베이스를 유지하려고합니다. 그렇게하면 누군가 파일을 업로드하고 해당 파일이 이미 처리 된 경우 다시 처리 할 필요가 없습니다. 기존 HTML 만 표시 할 수 있습니다.sha256 해쉬 PHP와 MySQL에 저장

파일에 연결된 HTML이 최신인지를 확인하기 위해 해시 값과 관련된 파일에서 실행되는 두 개의 Java 프로그램 버전을 갖고 싶습니다.

따라서 논리는 다음과 같습니다.
1. 사용자가 파일을 제출합니다.
2. 파일이 서버에 없으면 평소대로 업무를 수행하십시오.
3. 해당하는 경우 html을 생성하는 데 사용 된 두 Java 프로그램의 버전을 확인하십시오.
4. 현재 버전이 최신 버전 인 경우 html을 다시 생성하십시오.

나는 SHA 또는 MySQL에 대해 많은 것을 알지 못하므로 어떤 도움을 주시면 감사하겠습니다. 정말로 질문은 다음과 같습니다. MySQL 데이터베이스에 해쉬 된 값과 두 개의 버전 식별자를 어떻게 저장하고 나중에 그 정보를 검색 할 수 있습니까?

질문이 명확하지 않은 경우 알려 주시면 혼란을 해결할 수 있습니다.

감사합니다.

+0

관계형 데이터베이스와 SQL에 대한 기본적인 이해가 있습니까? 그렇지 않다면 MySQL을 먼저 숙지해야합니다. –

+0

아니요, 아닙니다. 나는 거기에 정보를 저장하고 검색 할 수있는 간단한 PHP 함수가 있기를 바랬다. 나는 다음 학기까지 나의 databased 한 과정을 투옥하지 않는다. 그러나 나는 이것을 지금 haha ​​히 계산하고 싶다. – Corey

+1

데이터베이스에 데이터를 저장하고 검색하는 간단한 기능은 없습니다. MySQL을 사용하기 위해서는 데이터베이스 테이블과 SQL에 대한 기본 지식이 필요합니다. –

답변

0

hash_file()은 파일의 sha256 해시를 생성 할 수 있습니다. 열 'ID'{PK, AI, INT} '해시'{텍스트}, '엔진'{INT}와 File_Hash :

테이블 이름을 다음과 같이

DB를 들어

, 나는 테이블을 상상 , 'filepath'{varchar}

이 레이아웃을 사용하면 'filepath'에 파일 참조를 저장할 수 있으며 sha256 파일은 'hash'로 해시하고 'engine'에 사용 된 Java 프로그램을 식별 할 수 있습니다 (1 자바 프로그램, 다른 2).