>  기사  >  백엔드 개발  >  PHP와 html을 결합하여 이미지 파일을 서버에 업로드하는 코드 구현

PHP와 html을 결합하여 이미지 파일을 서버에 업로드하는 코드 구현

不言
不言원래의
2018-08-09 09:54:464648검색

이 글의 내용은 서버에 이미지 파일을 업로드하기 위해 php와 html을 결합한 코드에 대한 내용입니다. 필요한 친구들이 참고하면 좋을 것 같습니다.

1.html code

<body>
<form action="" method="post" enctype="multipart/form-data" name="upload_form">
 <label>选择图片文件</label>
 <input name="imgfile" type="file" accept="image/gif, image/jpeg"/>
  <input name="upload" type="submit" value="上传" />
</form>
</body>

2.php code

if (isset($_FILES[&#39;imgfile&#39;]) 
&& is_uploaded_file($_FILES[&#39;imgfile&#39;][&#39;tmp_name&#39;]))
{
 $imgFile = $_FILES[&#39;imgfile&#39;];
$upErr = $imgFile[&#39;error&#39;];
if ($upErr == 0)
{
$imgType = $imgFile[&#39;type&#39;]; //文件类型。
/* 判断文件类型,这个例子里仅支持jpg和gif类型的图片文件。*/
if ($imgType == &#39;image/jpeg&#39;
|| $imgType == &#39;image/gif&#39;)
{
$imgFileName = $imgFile[&#39;name&#39;];
$imgSize = $imgFile[&#39;size&#39;];
$imgTmpFile = $imgFile[&#39;tmp_name&#39;];
/*
 将文件从临时文件夹移到上传文件夹中。
注意:upfile这个文件夹必须先创建好,不然会报错。
*/
move_uploaded_file($imgTmpFile, &#39;upfile/&#39;.$imgFileName);
/*显示上传后的文件的信息。*/
$strPrompt = sprintf("文件%s上传成功<br>"
. "文件大小: %s字节<br>"
. "<img src=&#39;upfile/%s&#39;>"
, $imgFileName, $imgSize, $imgFileName
);
echo $strPrompt;
}
else
{
echo "请选择jpg或gif文件,不支持其它类型的文件。";
}
}
else
{
echo "文件上传失败。<br>";
switch ($upErr)
{
case 1:
 echo "超过了php.ini中设置的上传文件大小。";
break;
case 2:
 echo "超过了MAX_FILE_SIZE选项指定的文件大小。";
break;
case 3:
 echo "文件只有部分被上传。";
break;
case 4:
 echo "文件未被上传。";
break;
case 5:
 echo "上传文件大小为0";
break;
}
}
}
else
{
}

3.php 코드 분석:

$_FILES는 업로드된 파일 정보를 저장하는 데 사용되는 배열 변수입니다.

$_FILES['imgfile']은 파일 도메인 이름이 'imgfile'인 컨트롤이 서버에 제출된 후 업로드된 파일의 정보를 나타냅니다.

업로드된 파일에는 다음과 같은 속성 정보가 있습니다.

'name': 클라이언트에 업로드된 파일의 이름입니다.

'type': "image/jpeg"와 같은 파일의 MIME 유형입니다.

'size': 업로드된 파일의 크기(바이트)입니다.

'tmp_name': 업로드 시 업로드된 파일은 서버측 임시 폴더에 저장됩니다. 이 속성을 통해 임시 파일 이름을 얻을 수 있습니다.

'error': 업로드 중 파일의 오류 코드입니다. 업로드가 성공하면 이 값은 0이 됩니다. 다른 값의 의미는 다음과 같습니다.

1: php.ini에 설정된 업로드 파일 크기를 초과합니다.

2: MAX_FILE_SIZE 옵션에 지정된 파일 크기를 초과했습니다.

3: 파일의 일부만 업로드됩니다.

4: 파일이 업로드되지 않았습니다.

5: 업로드된 파일 크기는 0입니다.

코드는 먼저 $_FILES['imgfile'] 변수가 존재하는지 확인하고 $_FILES['imgfile']['tmp_name'] 변수가 가리키는 파일이 업로드된 경우 오류를 확인합니다. 속성이 0인 경우 업로드된 이미지를 임시 폴더에서 upfile 폴더로 이동하여 업로드된 파일 정보를 표시하고, 업로드된 이미지를 표시합니다.

오류 값이 0이 아닌 경우 업로드가 실패했다는 의미이며 실패 메시지가 표시됩니다.

4. 전체 코드





上传图片文件

"
. "文件大小: %s字节
" . "" , $imgFileName, $imgSize, $imgFileName ); echo $strPrompt; } else { echo "请选择jpg或gif文件,不支持其它类型的文件。"; } } else { echo "文件上传失败。
"; switch ($upErr) { case 1: echo "超过了php.ini中设置的上传文件大小。"; break; case 2: echo "超过了MAX_FILE_SIZE选项指定的文件大小。"; break; case 3: echo "文件只有部分被上传。"; break; case 4: echo "文件未被上传。"; break; case 5: echo "上传文件大小为0"; break; } } } else { /*显示表单。*/ ?> <body> <form action="" method="post" enctype="multipart/form-data" name="upload_form"> <label>选择图片文件</label> <input name="imgfile" type="file" accept="image/gif, image/jpeg"/> <input name="upload" type="submit" value="上传" /> </form> </body>

추천 관련 기사:

PHP 유형 제약 조건이란 무엇인가요? PHP 유형 제약 조건 소개 및 사용법

PHP에서 배열에서 요소를 삭제하고 배열에서 여러 요소를 삭제하는 방법 요약(코드 포함)

위 내용은 PHP와 html을 결합하여 이미지 파일을 서버에 업로드하는 코드 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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