Maison  >  Article  >  développement back-end  >  Comment utiliser PHP pour implémenter la fonction caméra dans l'applet WeChat

Comment utiliser PHP pour implémenter la fonction caméra dans l'applet WeChat

王林
王林original
2023-06-01 11:21:232347parcourir

Avec la promotion vigoureuse des mini-programmes WeChat, de plus en plus de développeurs souhaitent ajouter des méthodes interactives intéressantes aux mini-programmes, parmi lesquelles la fonction caméra est indispensable. Dans cet article, nous présenterons comment utiliser PHP pour implémenter la fonction caméra dans l'applet WeChat.

Prérequis pour le développement

Avant de commencer le développement, nous devons disposer des technologies et des logiciels suivants :

  • Bases du développement du programme WeChat Mini # 🎜🎜#
  • Bases du langage PHP
  • API officielle de l'applet WeChat (WxRequest) pour obtenir l'autorisation de l'utilisateur
  • Module d'extension GD de la bibliothèque de traitement d'image PHP
  • # 🎜 🎜# Serveur de stockage backend du mini programme, il est recommandé d'utiliser des services cloud, tels que Alibaba Cloud, Tencent Cloud, etc.
  • Étapes pour implémenter la fonction de caméra du mini programme WeChat en PHP

1. Le mini programme obtient l'autorisation de l'utilisateur

Le mini programme doit obtenir l'autorisation de l'utilisateur avant de pouvoir utiliser la fonction caméra. Utilisez la méthode wx.authorize dans le mini-programme pour obtenir l'autorisation de l'utilisateur.

2. L'applet ouvre l'appareil photo et prend une photo

L'applet utilise la méthode wx.chooseImage pour ouvrir l'appareil photo de l'appareil utilisateur, et une fois la photo prise , la photo est enregistrée dans un dossier temporaire au milieu.

3. Téléchargez les photos du dossier temporaire sur le serveur

Utilisez la méthode wx.uploadFile pour télécharger les photos du dossier temporaire sur le serveur.

4. Utilisez le langage PHP pour le traitement des images

Une fois que le serveur a reçu la photo téléchargée, il utilise le langage PHP pour traiter l'image et enregistrer l'image traitée sur le serveur supérieur.

Ci-dessous, nous présenterons en détail la méthode de mise en œuvre spécifique de chaque étape.

Le mini programme obtient l'autorisation de l'utilisateur

Le mini programme doit obtenir l'autorisation de l'utilisateur pour utiliser la fonction appareil photo. Utilisez la méthode wx.authorize dans le mini-programme pour obtenir l'autorisation de l'utilisateur.

Vous pouvez d'abord définir une fonction dans le fichier app.js du mini programme :

//授权获取用户摄像头权限
function takePhoto() {
  wx.authorize({
    scope: 'scope.camera',
    success: function () {
      console.log("授权成功");
      //调用打开摄像头代码
      choosePhoto();
    },
    fail: function () {
      console.log("授权失败");
    }
  })
}

Après que l'utilisateur ait confirmé l'autorisation, appelez la fonction ChoosePhoto() pour activer le fonction caméra.

L'applet ouvre l'appareil photo et prend des photos

Après l'autorisation de l'utilisateur, nous devons utiliser la méthode wx.chooseImage dans l'applet pour ouvrir l'appareil photo de l'appareil de l'utilisateur et prenez des photos en conséquence. Ce qu'il faut noter ici, c'est que nous devons enregistrer les photos après les avoir prises dans un dossier temporaire.

Continuez à définir la fonction ChoosePhoto() dans app.js du mini programme. Cette fonction ouvrira automatiquement l'appareil photo et prendra des photos, et enregistrera les photos dans un dossier temporaire : #🎜🎜 #

// 打开照相并进行拍照
function choosePhoto() {
  wx.chooseImage({
    count: 1, // 可以选择的图片数量
    sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图
    sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机
    success: function (res) {
      // 将拍照后的照片保存在本地文件夹中
      var tempFilePaths = res.tempFilePaths
      wx.uploadFile({
        url: '服务器地址',
        filePath: tempFilePaths,
        name: 'file',
        success: function (res) {
          var data = res.data;
          console.log(data);
        },
        fail: function (res) {
          console.log(res);
        }
      })
    }
  })
}
.

Ici, la méthode wx.chooseImage est utilisée pour obtenir les photos prises par l'utilisateur, et la méthode wx.uploadFile est utilisée pour télécharger les photos prises sur le serveur.

Télécharger les photos du dossier temporaire sur le serveur

Après avoir obtenu avec succès les photos prises par l'utilisateur, nous devons les télécharger sur le serveur pour traitement. Le code à télécharger sur le serveur à l'aide de la méthode wx.uploadFile est le suivant :

    wx.uploadFile({
        url: '服务器地址',
        filePath: tempFilePaths,
        name: 'file',
        success: function (res) {
          var data = res.data;
          console.log(data);
        },
        fail: function (res) {
          console.log(res);
        }
      })

L'adresse du serveur doit être spécifiée ici comme chemin d'accès au fichier PHP où se trouvent les photos téléchargées. Par exemple : http://www.example.com/upload.php

Utiliser le langage PHP pour le traitement des images

PHP est un langage de script côté serveur très utile. Vous pouvez utiliser PHP pour traiter les photos téléchargées afin d'obtenir les effets souhaités.

Les bibliothèques qui utilisent le langage PHP pour traiter les images sont généralement des modules d'extension GD et doivent être installées côté serveur. Grâce au module d'extension GD de PHP, nous pouvons effectuer les opérations de traitement suivantes : compression d'image, rotation d'image, mise à l'échelle d'image, etc.

Pour les photos qui doivent être traitées, nous pouvons d'abord les télécharger du serveur vers l'ordinateur local, puis effectuer les opérations correspondantes sur elles. Le code approximatif est le suivant :

//下载服务器照片
$img = 'http://www.example.com/image.jpg';
$localimage = './image.jpg';
$imgcontent = file_get_contents($img);
file_put_contents($localimage, $imgcontent);
//使用GD库进行图片的缩放处理
$image = imagecreatefromjpeg($localimage);
$x = imagesx($image);
$y = imagesy($image);
$xnew = 100 ;//新图片大小
$ynew = 100 ;//新图片大小
$image_p = imagecreatetruecolor($xnew, $ynew);
imagecopyresampled($image_p, $image, 0,0,0,0, $xnew,$ynew,$x,$y);
imagepng($image_p, $localimage);//将处理后的图片保存
imagedestroy($image_p);
imagedestroy($image);

Grâce aux opérations ci-dessus, nous pouvons utiliser PHP sur le serveur pour traiter les photos téléchargées par l'utilisateur et enregistrer les photos traitées sur le serveur.

Conclusion

Cet article présente comment utiliser PHP pour implémenter la fonction appareil photo dans l'applet WeChat, y compris l'autorisation de l'utilisateur, l'ouverture de l'appareil photo et la prise de photos, le téléchargement des photos sur le serveur et le serveur traitant les photos. Grâce aux moyens techniques ci-dessus, nous pouvons facilement réaliser la fonction intéressante de prise de photos dans le mini-programme WeChat et ajouter plus de plaisir et d'expérience aux utilisateurs du mini-programme.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn