>  기사  >  백엔드 개발  >  PHP가 처음이시라면 저를 도와주세요. PHP가 처음이시라면 저를 도와주세요. (8)

PHP가 처음이시라면 저를 도와주세요. PHP가 처음이시라면 저를 도와주세요. (8)

WBOY
WBOY원래의
2016-07-29 08:34:45958검색

7. 파일 업로드
PHP를 사용하여 파일 업로드 기능을 구현할 수 있습니다. 클라이언트 브라우저는 Netscape3 이상 또는 IE3 이상이어야 합니다. 동시에 이 프로그램은 PHP 구성 파일(PHP3의 경우 php3.ini, PHP4의 경우 php.in) 설정과 관련되어 있기 때문입니다. 이 프로그램을 실행하기 전에 PHP 구성 파일에 다음 설정이 있는지 확인하십시오.
"upload_tmp_dir" 줄의 주석 문자, 즉 그 앞의 세미콜론 ";"을 제거하여 해당 줄이 문서의 php.ini 함수에서 발견되었습니다. upload_tmp_dir은 업로드된 파일이 저장되는 임시 경로를 정의하는 데 사용됩니다. 여기서 절대 경로를 정의할 수도 있습니다. 예: upload_tmp_dir = d:upload 물론 현재 d:upload 디렉터리에는 읽기 및 쓰기 권한이 있어야 합니다. .
.php3 프로그램에서 업로드 경로를 정의한 경우 업로드된 파일의 경로는 .php3 프로그램에 정의된 경로를 기반으로 합니다. 다음 예에서 receive.php3 파일은 업로드된 파일을 저장하는 데 사용되는 디렉터리인 d:upload를 지정합니다.
upload_max_filesize는 PHP에서 처리되는 업로드된 파일의 최대 크기를 제한하는 데 사용됩니다. 기본값은 2097152= 2*1024*1024바이트(2MB)입니다. 최대 업로드 파일 크기.
수정 후에는 Apache, IIS 또는 PWS 서비스를 다시 시작하는 것을 잊지 마세요.
동시에, PHP의 파일 업로드에 관해 주목할 만한 몇 가지 사항이 있습니다.
1. 양식 양식에서 method 속성을 post로 설정하고 enctype 속성을 multipart/form-data로 설정합니다. 2 MAX_FILE_SIZE라는 숨겨진 값 필드를 사용하여 숨겨진 유형 입력 상자를 양식에 추가할 수 있습니다. VALUE를 설정하여 업로드된 파일의 크기를 제한할 수 있습니다. 물론 이 값은 PHP 구성 파일의 upload_max_filesize를 초과할 수 없습니다(PHP3은 php3.ini, PHP4는 php.ini). 이 입력 상자는 모든 파일 형식 입력 상자 앞에 배치되어야 합니다. 그렇지 않으면 유효하지 않습니다. ;
3. PHP 프로그램이 실행되면 업로드된 파일이 임시 디렉터리에 저장됩니다. 업로드된 파일의 이름을 바꾸거나 이동하지 않은 경우 요청이 끝나면 파일은 임시 폴더에서 자동으로 삭제되므로 새로 업로드된 파일을 즉시 영구 디렉터리에 업로드하거나 파일 이름을 변경하는 것이 좋습니다.
먼저 파일 업로드를 위한 양식 페이지(upload.htm)가 필요합니다.


파일 업로드<br>< ;/HEAD> <br><BODY> <br><FORM ACTION="receiver.php3" <br>ENCTYPE="multipart/form-data" METHOD=POST> " <br>NAME="MAX_FILE_SIZE" VALUE="2000000"> <br><INPUT TYPE="FILE" <br>NAME="uploadfile" SIZE="24" MAXLENGTH="80"> <br> <BR><BR> <br><INPUT TYPE="SUBMIT" VALUE="파일 업로드!" <br>NAME="sendit"><br><INPUT TYPE="SUBMIT" VALUE=" 취소" <br>NAME="cancelit"><BR> <br></FORM> <br></BODY> <br></HTML> <br>업로드된 파일을 처리하는 PHP 파일( receive.php3) <br>< <br>함수 do_upload () <br>{ <br>global $uploadfile, $uploadfile_size; <br>global $local_file, $error_msg; "none" ) <br>{ <br>$error_msg = "죄송합니다. 업로드할 파일을 선택하지 않았습니다!" <br>return; <br>} <br>if ( $uploadfile_size > 2000000 ) <br> { <br>$error_msg = "죄송합니다. 업로드하려는 파일이 너무 큽니다!"; <br>return; <br>} <br>$the_time = time ()// 용도를 지정하세요. 여기에 파일 업로드용 디렉터리를 저장하려면 다음 디렉터리에 대한 쓰기 권한이 있어야 합니다. <br>// 동시에 업로드된 파일에 대해 다음과 같은 다른 디렉터리를 지정할 수도 있습니다. $upload_dir = "/local/uploads "; <br>$upload_dir = "d:/upload"; <br>$local_file = "$upload_dir/$the_time"; <br>if ( file_exists ( '$local_file' ) ) <br>{ <br>$ seq = 1; <br> while ( file_exists ( "$upload_dir/$the_time$seq" ) ) { $seq } <br>$local_file = "$upload_dir/$the_time$seq" <br>rename ( $uploadfile, $ local_file ); <br>display_page (); <br>} <br>function display_page () <br>{ <br>// 페이지 콘텐츠는 다음과 같습니다 <br>} <br>? > <br><HTML> <br><TITLE>php3 수신 스크립트
?
if ( $error_msg ) { echo "$error_msg

" }
if ( $sendit )
{
do_upload ( );
echo "파일이 성공적으로 업로드되었습니다! ";
}
elseif ( $cancelit )
{
header ( "Location: $some_other_script" );
echo "파일 업로드 실패!";
exit;
}
else
{
some_other_func ()
}
?>

이상은 PHP 초보자를 소개합니다. (8) 초보자의 내용을 포함하여 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.