인터넷 에 올 라 온 글 을 참고 해 봤 습 니 다.속담 에 이 르 기 를 천하 의 문장 을 크게 베 끼 면 네가 베 낄 수 있 는 지 없 는 지 를 본다 고 한다.관건 은 나 를 위해 쓸 수 있다 는 것 이다.이것 이 가장 중요 하 다.잔말 말고 let's go.사실 메 일 을 보 내 는 것 은 매우 간단 합 니 다.phop 은 기 존의 함수 가 있 습 니 다.phop 의 manual,특히 네 번 째 예 를 참고 하여 상세 하 게 말 할 수 있 습 니 다.문 제 는 첨부 파일 업로드 와 메 일 발송 을 어떻게 결합 하 느 냐 하 는 것 이다.파일 업로드http://blog.csdn.net/slamdunk3/archive/2005/02/23/299025.aspx 이 문장.파일 업로드 방법 과 속성 을 말씀 드 리 겠 습 니 다.저 희 는 파일 업로드 필드 의 이름 이 상기 와 같이 userfile 이 라 고 가정 합 니 다.이름 은 마음대로 명명 할 수 있다.폼 에 이렇게 쓸 수 있 습 니 다:제출 후 php 는$를 이용 합 니 다.FILES 배열 에서 관련 매개 변 수 를 자동 으로 가 져 옵 니 다:$FILES['userfile']['name']클 라 이언 트 기기 파일 의 원래 이름 입 니 다.$FILES['userfile']['type']파일 의 MIME 형식 입 니 다.브 라 우 저가 이 정 보 를 지원 해 야 합 니 다.예 를 들 어'image/gif'입 니 다.$FILES['userfile']['size']업로드 한 파일 의 크기,단 위 는 바이트 입 니 다.$FILES['userfile']['tmp_name']파일 이 업로드 되 어 서버 에 저 장 된 임시 파일 이름 입 니 다.$FILES['userfile']['error']이 파일 업로드 와 관련 된 오류 코드 입 니 다.['error']는 PHP 4.2.0 버 전에 추가 되 었 습 니 다.주:PHP 4.1.0 버 전 이전에 이 그룹의 이름 은$HTTPPOST_FILES,$같 지 않 아 요.FILES 와 마찬가지 로 자동 전역 변수 입 니 다.PHP 3 는$HTTP 를 지원 하지 않 습 니 다POST_FILES 배열.php.ini 의 registerglobals 가 on 으로 설정 되 었 을 때 더 많은 변 수 를 사용 할 수 있 습 니 다.예 를 들 어$userfilename 등가$FILES['userfile']['name'],$userfile_type 등가$FILES[userfile][type']등.PHP 4.2.0 부터 registerglobals 의 기본 값 은 off 입 니 다.따라서 설정 항목 을 바 꾸 는 데 의존 하지 말고 방금 언급 한 추가 변 수 를 사용 하 는 것 을 권장 합 니 다.파일 이 업로드 되면 php.ini 의 upload 를 제외 하고 서버 의 기본 임시 디 렉 터 리 에 기본적으로 저 장 됩 니 다.tmp_dir 는 다른 경로 로 설정 합 니 다.서버 의 기본 임시 디 렉 터 리 는 PHP 실행 환경 을 변경 하 는 환경 변수 TMPDIR 를 통 해 다시 설정 할 수 있 지만,PHP 스 크 립 트 내부 에 서 는 putenv()함 수 를 실행 하여 설정 하 는 것 은 소 용이 없습니다.이 환경 변 수 는 다른 작업 도 업 로드 된 파일 에서 이 루어 졌 는 지 확인 하 는 데 도 사용 된다.이런 것들 이 있 으 면 우 리 는 메 일과 관련 된 것 을 다시 봅 시다.다음은 첨부 파일(HTML 파일)이 있 는 이메일 의 예 입 니 다.Return-Path: Date: Mon, 22 May 2000 19:17:29 +0000 From: Someone To: Person Message-id: <[email protected]> Content-type: multipart/mixed; boundary="396d983d6b89a" Subject: Here's the subject --396d983d6b89a Content-type: text/plain; charset=iso-8859-1 Content-transfer-encoding: 8bit This is the body of the email. --396d983d6b89a Content-type: text/html; name=attachment.html Content-disposition: inline; filename=attachment.html Content-transfer-encoding: 8bit This is the attached HTML file --396 d983 d6b89a-앞의 7 줄 은 메 일의 머리 이 고 그 중에서 주의해 야 할 것 은 Content-type 머리 부분 입 니 다.이 머리 는 메 일 프로그램 이메일 이 하나 이상 의 부분 으로 구성 되 어 있다 는 것 을 알려 준다.첨부 파일 이 없 는 메 일 은 메시지 자체 입 니 다.첨부 파일 이 있 는 전 자 는 보통 적어도 두 부분 으로 구성 된다.메시지 와 첨부 파일 이다.이렇게 해서 두 개의 첨부 파일 을 가 진 메 일 은 세 부분 으로 구성 된다.메시지,첫 번 째 첨부 파일 과 두 번 째 첨부 파일 이다.첨부 된 전자메일 의 다른 부분 사 이 를 경계선 으로 구분한다.경계선 은 Content--type 헤드 에서 정 의 됩 니 다.우편물 의 각 새 부분 은 두 개의 연결 번호(-)와 경계선 으로 시작한다.마지막 경계선 뒤에 도 두 개의 연결 번호 가 있 는데 이 메 일 에는 다른 부분 이 없다 는 것 을 나타 낸다.각 경계선 뒤에 메 일 프로그램 이라는 부분의 내용 의 유형 을 알려 주 는 줄 이 있 습 니 다.예 를 들 어 위의 예 에서 첫 번 째 경계선 뒤의 두 줄 을 보 세 요.Content-type:text/plain 으로 시작 하 는 줄 입 니 다.이 줄 들 은 뒷부분 이 ISO-8859-1 문자 집합의 순수한 텍스트 임 을 설명 한다.두 번 째 경계선 뒤에 있 는 줄 을 따라 메 일 프로그램의 현재 부분 은 HTML 파일 이 고 이름 은'attachment.html'입 니 다.Content-disposition 메 일 프로그램 이 가능 하 다 면 첨부 파일 을 내장 하 는 방식 으로 표시 합 니 다.현재 새로운 메 일 프로그램 은 메시지 뒤에 HTML 내용 을 표시 합 니 다.Content-disposition 이 attachment 로 설정 되면 메 일 프로그램 은 HTML 파일 의 내용 을 표시 하지 않 고 파일 에 연 결 된 아이콘(또는 다른 유사 한 것)을 표시 합 니 다.받 는 사람 이 첨부 파일 의 내용 을 보 려 면 이 아이콘 을 클릭 해 야 합 니 다.일반적으로 첨부 파일 이 일부 텍스트(HTML 포함)라면 Content-disposition 은 inline 으로 설 정 됩 니 다.이 는 현재 대부분의 메 일 프로그램 이 다른 브 라 우 저 를 이용 하지 않 고 첨부 파일(텍스트)의 내용 을 직접 표시 할 수 있 기 때 문 입 니 다.첨부 파일 이 텍스트(예 를 들 어 그림 이나 다른 유사 한 내용)가 아니라면 Content-disposition 은 attachment 로 설정 합 니 다.우 리 는 위의 예 를 본 떠 서 제출 한 수신 자,발송 자,편지 내용,첨부 파일 을 처리 할 수 있 는 php 프로그램 을 작성 합 니 다.우선 정적 페이지 를 만 들 고,다음 코드:<<<<<<<<<
주의해 야 할 것 은 폼 에 ENCTYPE="multipart/form-data"가 반드시 있어 야 한 다 는 것 이다.메 일 을 보 내 는 phop 프로그램 을 다시 보 겠 습 니 다:"; else print "fail to send mail "; ?> 잘 모 르 겠 습 니 다.괜 찮 습 니 다.제 가 설명 하 겠 습 니 다.1.메 일 헤더 의 구 조 는 보통 내용 유형(Content-type)을 포함 하여 첨부 파일 을 보 내 려 고 합 니 다.multipart/mixed 는 여러 부분(메 일 자체+첨부 파일)을 의미 합 니 다.boundary 는 위 에서 언급 한 분계선 입 니 다.그의 값 은 phop 자체 가 가지 고 있 는 유 니 키 드()입 니 다.함수 수령 자,베 끼 기 등 을 얻 고 뒤에 From:Cc:를 추가 합 니 다.위의 Content-type boundary 와\r 로 분할 합 니 다.2 메 일 체 가 일반 텍스트 의 메 일 내용 이 라면 다음 과 같은 형식 입 니 다.Content-type:text/plain;charset=iso-8859-1 Content-transfer-encoding:8bit 뒤에 메 일의 텍스트 내용 을 추가 합 니 다.첨부 파일:Content-type:$mimeType;name=$fileName Content-disposition: attachment; filename=$fileName Content-transfer-encoding:base 64 뒤에 첨부 파일 내용 을 추가 합 니 다.$mime Type 은 첨부 파일 의 MIME 형식 입 니 다.$FILES['upload_file'][type']을 얻 었 습 니 다.$fileName 은 첨부 파일 의 이름 입 니 다.메 일 텍스트 내용 과 첨부 파일 사 이 를 boundary 로 분할 합 니 다.첨부 된 내용 이 무엇 이 냐 고 물 어 보 는 사람 이 있 습 니 다.첨부 파일 내용 은 업로드 한 첨부 파일 을 read 함수 로 읽 은 다음 base 64 인 코딩 을 거 친 후 chunksplit 는 N 블록 을 크게 내 립 니 다.각 크기 는 기본 76 문자 입 니 다.자,이제 그 절 차 를 보 러 가면 괜 찮 겠 지?해당 변 수 를 mail 함수 에 가 져 오 면 ok 입 니 다.상기 프로그램 은 PHP Version 4.3.8 freeBSD 에서 테스트 에 통과 되 었 다.참고 글:
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다: