2012-04-10 3 views
0

데이터베이스에 첨부 파일을 최대 5 개까지 저장 한 다음 PHP의 다른 페이지로 다시 가져 오도록 요청받습니다. 나는 이것에 대해 1 주일 이상 봤 거든 하나의 파일을 데이터베이스에 저장하고 다시 검색 할 수있는 자습서 만 찾는다.첨부 파일 5 개를 저장하고 검색하는 경우

내 시나리오는 여러 개의 첨부 파일이 포함 된 전자 메일을 보내고 있습니다. 전자 메일은 "전자 메일"테이블에 저장됩니다. 이제 첨부 파일도 다른 열에 저장하고 싶습니다. 따라서 쉽게 다시 검색 할 수 있습니다. PHP 페이지에서.

이 경우 아무도 도와주세요. 나에게 적절한 안내선을 제공하십시오. 나는 모든 말했다 것들을 여기에

답변

1

을 저장하기 위해 당신이 원하는 솔루션에 phpMyAdmin을한다 사용하고 있습니다 : 서버 5 개 파일을 업로드 메모리와 base64_encode로 읽을되면 합니다.

예. 당신이 가지고 있기 때문에

$files = array(
    'file1' => base64_encode(file_get_contents('/path/to/file1')), 
    'file2' => base64_encode(file_get_contents('/path/to/file2')), 
    'file3' => base64_encode(file_get_contents('/path/to/file3')), 
    'file4' => base64_encode(file_get_contents('/path/to/file4')), 
    'file5' => base64_encode(file_get_contents('/path/to/file5')), 
); 

// serialize 
$filesData = serialize($files);  
// put $filesData in db column 

// when your retrieve it later from database, unserialize and use array 
$files = unserialize($columnValue); 

파일은 메모리를 int로하고, 당신은 Content-Transfer-Encoding: base64에 첨부 파일을 추가 할 수 있습니다 base64 인코딩이다.

+0

파일을 가져 오기 위해 데이터를 직렬화 해제 할 때 "Array"라고 쓰여집니다. 어떻게 링크를 다운로드하여 실제 파일을 다운로드 할 수 있습니까? [BLOB - 712.9KiB]와 같이 파일 데이터가 저장되는 열의 데이터베이스에서도 클릭하려고하면 파일이 표시되므로 .bin 유형이 저장됩니다. .jpg 파일 –

+1

@ HanyaIdrees를 보냈습니다. 다른 문제입니다. 링크로 파일을 표시하려면 파일 ID (예 :'download.php? email = xxx & fileId = xxx')를 취하는 새 페이지를 만들어야합니다. 여기에 데이터베이스 + 'header ('Content-Type : image/jpeg') '또는 무엇이든 파일을 설정하고 파일 데이터'die ($ base64DecodedFile) '를 표시하여 파일을 표시 한 모든 파일을'unserialize'하고 'base64_decode' '. – Alex

+0

나에게 튜토리얼 링크 나 다른 도움 링크를 제공해 주시겠습니까? 저는 PHP 초보자입니다. 그러니 제발 –

관련 문제