L'article précédent vous présentait "Comment utiliser les expressions régulières PHP pour vérifier les données d'un formulaire ? (Étapes détaillées)", cet article continue de présenter comment utiliser PHP pour implémenter la fonction de téléchargement d'avatar d'utilisateur ?
Supplément : Qu'est-ce qu'une instruction switch et où s'applique-t-elle ?
En termes simples, l'instruction switch est également une instruction de jugement. L'instruction if else convient à moins de 3 jugements, mais il n'est pas pratique d'utiliser if if plus de 3 jugements. utilisé pour plus de 3 jugements. L'instruction est plus pratique
Comment utiliser PHP pour implémenter la fonction de téléchargement d'avatar utilisateur ?
1. Lors de la modification de la page d'avatar de téléchargement de l'utilisateur, il y a deux points à noter :
Doit être soumis en mode publication. , car la navigation Le serveur encodera en binaire le fichier téléchargé et le codage binaire ne peut pas être transmis dans la barre d'adresse URL, vous ne pouvez donc pas utiliser la méthode get pour soumettre
enctype="multipart/ form-data" doit être ajouté ", indiquez au navigateur que les données téléchargées sont des données de fichier
Le code 2.php est le suivant :
<?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 '
2, afficher les informations de base de l'utilisateur
<?php $info=array('id'=>1,'name'=>'慕斯'); ?>
3, afficher les données du fichier téléchargé reçu
<?php echo '<pre class="brush:php;toolbar:false">'; print_r($_FILES); echo '
4 , recevez et traitez l'image téléchargée
<?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=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; } }
5, affichage complet du code :
<?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 '
Selon l'analyse de code ci-dessus, nos résultats d'exécution sont comme suit :
Apprentissage recommandé : "Tutoriel vidéo PHP"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!