이전 기사에서는 "PHP 정규식을 사용하여 양식 데이터를 확인하는 방법"에 대해 소개했습니다. (세부 단계)", 이 기사에서는 PHP를 사용하여 사용자 아바타 업로드 기능을 구현하는 방법을 계속 소개합니다.

추가: 스위치 문은 무엇이며 어디에 적용되나요?
간단히 말하면, if else 문은 판단이 3개 미만인 경우에는 적합하지만, 판단이 3개 이상인 경우에는 사용하기 불편하므로 사용하기가 더 편리합니다. 3개 이상의 판단에 대한 스위치 문
PHP를 사용하여 사용자 아바타 업로드 기능을 구현하는 방법은 무엇입니까?
1. 사용자 업로드 아바타 페이지를 편집할 때 주의해야 할 두 가지 사항이 있습니다.
2.php 코드는 다음과 같습니다.
1 2 3 4 5 6 | <?php
header('Content-type:text/html;charset=utf-8');
$info = array ('id'=>1,'name'=>'慕斯');
echo '<pre class = "brush:php;toolbar:false" >';
print_r( $_FILES );
echo '
|
로그인 후 복사
';
//接收并处理上传图像
if(!empty($_FILES['pic'])){
$pic_info=$_FILES['pic'];
if($pic_info['error']>0){
$error_msg='上传错误:';
switch ($pic_info['error']){
case 1:$error_msg.="文件大小超过了php.ini中upload_max_filesize选项限制的值";
break;
case 2:$error_msg.="文件大小超过了表单中max_file_size选项指定的值!";
break;
case 3:$error_msg.="文件只有部分被上传!";
break;
case 4:$error_msg.="没有文件被上传!";
break;
case 6:$error_msg.="找不到临时文件夹!";
break;
case 7:$error_msg.="文件写入失败";
break;
default:$error_msg.='未知错误!';break;
}
echo $error_msg;
return false;
}
//获取文件上传的类型
// $type=substr(strrchr($pic_info['name'],'.'),1);
// if($type!=='jpg'){
// echo '图像类型不符合要求,允许的类型为:jpg';
// return false;
// }
$type=$pic_info['type'];
$allow_type=array('image/jpeg','image/png','image/gif');
if(!in_array($type,$allow_type)){
echo '图像类型不符合要求,允许的类型为:'.implode(',',$allow_type);
return false;
}
//使用用户ID为上传文件命名
$new_file=$info['id'].'.jpg';
//设置上传文件保存路径
$filename='./'.$new_file;
//头像上传的临时目录成功,将其保存到脚本所在目录下的img文件夹中
if(!move_uploaded_file($pic_info['tmp_name'],$filename)){
echo '头像上传失败';
return false;
}
}
?>
2. 기본 사용자 정보 표시
1 | <?php $info = array ('id'=>1,'name'=>'慕斯'); ?>
|
로그인 후 복사
3. 받은 업로드 파일 데이터 보기
1 2 3 | <?php echo '<pre class = "brush:php;toolbar:false" >';
print_r( $_FILES );
echo '
|
로그인 후 복사
';?>
4. 업로드된 이미지를 받아 처리합니다
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | <?php
if (! empty ( $_FILES ['pic'])){
$pic_info = $_FILES ['pic'];
if ( $pic_info ['error']>0){
$error_msg ='上传错误:';
switch ( $pic_info ['error']){
case 1: $error_msg .= "文件大小超过了php.ini中upload_max_filesize选项限制的值" ;
break ;
case 2: $error_msg .= "文件大小超过了表单中max_file_size选项指定的值!" ;
break ;
case 3: $error_msg .= "文件只有部分被上传!" ;
break ;
case 4: $error_msg .= "没有文件被上传!" ;
break ;
case 6: $error_msg .= "找不到临时文件夹!" ;
break ;
case 7: $error_msg .= "文件写入失败" ;
break ;
default : $error_msg .='未知错误!'; break ;
}
echo $error_msg ;
return false;
}
$type = $pic_info ['type'];
$allow_type = array ('image/jpeg','image/png','image/gif');
if (!in_array( $type , $allow_type )){
echo '图像类型不符合要求,允许的类型为:'.implode(',', $allow_type );
return false;
}
$new_file = $info ['id'].'.jpg';
$filename ='./'. $new_file ;
if (!move_uploaded_file( $pic_info ['tmp_name'], $filename )){
echo '头像上传失败';
return false;
}
}
|
로그인 후 복사
5. 표시:
1 2 3 4 5 6 | <?php
header('Content-type:text/html;charset=utf-8');
$info = array ('id'=>1,'name'=>'张三');
echo '<pre class = "brush:php;toolbar:false" >';
print_r( $_FILES );
echo '
|
로그인 후 복사
';
//接收并处理上传图像
if(!empty($_FILES['pic'])){
$pic_info=$_FILES['pic'];
if($pic_info['error']>0){
$error_msg='上传错误:';
switch ($pic_info['error']){
case 1:$error_msg.="文件大小超过了php.ini中upload_max_filesize选项限制的值";
break;
case 2:$error_msg.="文件大小超过了表单中max_file_size选项指定的值!";
break;
case 3:$error_msg.="文件只有部分被上传!";
break;
case 4:$error_msg.="没有文件被上传!";
break;
case 6:$error_msg.="找不到临时文件夹!";
break;
case 7:$error_msg.="文件写入失败";
break;
default:$error_msg.='未知错误!';break;
}
echo $error_msg;
return false;
}
//获取文件上传的类型
// $type=substr(strrchr($pic_info['name'],'.'),1);
// if($type!=='jpg'){
// echo '图像类型不符合要求,允许的类型为:jpg';
// return false;
// }
$type=$pic_info['type'];
$allow_type=array('image/jpeg','image/png','image/gif');
if(!in_array($type,$allow_type)){
echo '图像类型不符合要求,允许的类型为:'.implode(',',$allow_type);
return false;
}
//使用用户ID为上传文件命名
$new_file=$info['id'].'.jpg';
//设置上传文件保存路径
$filename='./'.$new_file;
//头像上传的临时目录成功,将其保存到脚本所在目录下的img文件夹中
if(!move_uploaded_file($pic_info['tmp_name'],$filename)){
echo '头像上传失败';
return false;
}
}
?>
위 코드 분석에 따르면 실행 결과는 다음과 같습니다.

추천 학습: "PHP Video Tutorial"
위 내용은 PHP를 사용하여 사용자 아바타 업로드 기능을 구현하는 방법은 무엇입니까? (자세한 소개)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!