2013-03-14 2 views
0

사용자가 파일을 첨부하고 메시지를 입력 한 다음 wordpress 용 PHP 메일러 플러그인을 사용하여 전자 메일을 보내는 응용 프로그램을 만듭니다. 자바 스크립트를 사용하여 업로드 HTML 폼에서 파일 정보를 가져온 다음 PHP를 사용하여 이메일을 보냅니다. 서버에 저장하지 않고 선택한 파일을 이메일로 할 수있는 방법이 있는지 궁금 해서요먼저 파일을 저장하지 않고 이메일을 통해 업로드 된 파일 보내기

$mail->AddAttachment("./new6.txt","attachment"); 

:이 기능을 사용하여 특정 위치에있는 서버에 저장된 파일을 보낼 때 플러그인이 작동합니다. 즉, 사용자가 업로드 할 파일을 선택할 수 있지만 검색 할 위치에 저장하지 않고이 PHP 함수로 파일을 보낼 수 있습니까? 파일의 정보를 얻을 수있는 $ _FILES 배열이 있지만 그 파일을 어딘가에 저장하지 않고 보낼 수 있다는 것을 알고 있습니까? 내가 업로드 양식의 전체 지점 이후로 "업로드"하지만 그냥 궁금 뭔가 자바 스크립트 또는 뭔가 할 수있을 것 같아요. 어떤 도움

답변

1

당신은 진정으로 그렇게 할 수는 없지만 가까운 효과를 얻기 위해이 작업을 수행 할 수 있습니다에 대한

감사 :

$filename = $_FILES['file_name']['tmp_name']; 
$main->AddAttachment($filename, "attachment"); 

// Send the email... then: 
unset($filename); 

이것은, 첨부 파일로 파일을 추가 이메일을 보냅니다, 그런 다음 파일을 삭제합니다. $_FILES 배열의 업로드 된 파일은 결국 자동으로 플러시됩니다. 따라서 unset() 부분이 중요한 부분을 수행할지 여부는 확실하지 않지만 반드시 파일을 제거합니다.

+0

$ filename은 서버에서 가져오고 클라이언트 컴퓨터에서 가져 오지 않아야합니다. –

0

사용 안 함 서버에 파일을 저장하지 않아도 메일에 첨부 할 수 없습니다.

1> Mailing function is executing in Server. 
2> It is not possible from Server to get the absolute file path in client machine as in web, the client machines do not have any absolute address. 
3> So the file is needed to be uploaded in server to get a real path for the file to have in attachment of Mail. 
관련 문제