Maison  >  Article  >  développement back-end  >  Comment utiliser PHP pour développer la fonction de stockage cloud de l'applet WeChat ?

Comment utiliser PHP pour développer la fonction de stockage cloud de l'applet WeChat ?

WBOY
WBOYoriginal
2023-10-26 09:51:33854parcourir

Comment utiliser PHP pour développer la fonction de stockage cloud de lapplet WeChat ?

Comment utiliser PHP pour développer la fonction de stockage cloud de l'applet WeChat ?

Avec la popularité et l'utilisation des mini-programmes WeChat, les développeurs rencontrent souvent des problèmes de stockage et de gestion de fichiers lors de la création de mini-programmes riches en fonctionnalités. Heureusement, l'applet WeChat fournit une fonction de stockage dans le cloud, ce qui permet aux développeurs de stocker facilement des fichiers sur le cloud et de les gérer via PHP. Cet article présentera en détail comment utiliser PHP pour développer la fonction de stockage cloud de l'applet WeChat et fournira des exemples de code spécifiques.

Étape 1 : Activer la fonction de développement cloud
Tout d'abord, vous devez activer la fonction de développement cloud dans les outils de développement WeChat. Dans le répertoire racine du projet du mini programme, recherchez et ouvrez le fichier « project.config.json », et ajoutez le code suivant :

{
  "appid": "你的小程序 APPID",
  "projectname": "你的小程序名称",
  "description": "你的小程序描述",
  "appid": "你的小程序 APPID",
  "cloudfunctionRoot": "cloudfunctions/",
  "setting": {
    "urlCheck": true,
    "es6": true,
    "postcss": true,
    "minified": true,
    "newFeature": true
  },
  "cloudfunctionRoot": "cloudfunctions/"
}

Étape 2 : Configurer l'environnement cloud du mini programme
Dans l'interface « Cloud Development » du mini programme, cliquez sur " Cliquez sur le bouton "Activer" pour activer la fonction de développement cloud. Ensuite, configurez un environnement cloud pour l'applet. Dans les « Paramètres d'environnement » de l'interface de développement cloud, cliquez sur « Nouvel environnement », saisissez le nom de l'environnement et cliquez sur « OK ».

Étape 3 : Configurer le serveur PHP
Pendant le développement et les tests, nous pouvons utiliser l'environnement PHP local pour le débogage. Tout d’abord, assurez-vous d’avoir un environnement PHP et MySQL ou une autre base de données installés sur votre ordinateur. Ensuite, vous devez créer un nouveau fichier PHP pour gérer la fonction de stockage cloud du mini-programme. Prenons le téléchargement de fichiers comme exemple.

Créez un nouveau fichier "upload.php" et ajoutez le code suivant :

<?php
// 从微信小程序的请求中获取到文件临时地址并且上传至云存储
function uploadFile($file_temp, $cloud_path){
    // 替换为你的云环境 ID 和 Secret
    $secret_id = "your_secret_id";
    $secret_key = "your_secret_key";
    $env = "your_environment";
    
    // 获取文件扩展名
    $ext = pathinfo($file_temp, PATHINFO_EXTENSION);
    
    // 随机生成文件名
    $filename = time() . mt_rand(1, 1000) . '.' . $ext;
    
    // 设置云存储路径
    $cloud_file_path = $env . '/' . $cloud_path . '/' . $filename;
    
    // 先上传至临时文件夹
    $tmp_path = './tmp/' . $filename;
    move_uploaded_file($file_temp, $tmp_path);
    
    // 配置cos sdk
    require_once "./sdk/cos-php-sdk-v5/vendor/autoload.php";
    use QcloudCosClient;
    
    $cosClient = new Client([
        'region' => 'ap-guangzhou',
        'credentials' => [
            'secretId' => $secret_id,
            'secretKey' => $secret_key
        ]
    ]);
    
    // 上传到云存储
    $result = $cosClient->Upload(
        $config['Bucket'],
        $cloud_file_path,
        fopen($tmp_path, 'rb')
    );
    
    // 删除本地临时文件
    unlink($file_temp);
    unlink($tmp_path);
    
    return $cloud_file_path;
}

// 获取微信小程序上传的文件临时地址
$file_temp = $_FILES['file']['tmp_name'];

// 定义云存储路径(例如:/images)
$cloud_path = "images";

// 调用上传函数
$result = uploadFile($file_temp, $cloud_path);

// 返回云存储文件的地址给小程序
echo json_encode(array('fileUrl' => $result));
?>

Téléchargez le fichier PHP sur votre serveur PHP et assurez-vous que l'URL du serveur est accessible par le mini programme.

Étape 4 : Appelez l'interface PHP dans le mini programme
Dans la page du mini programme qui doit utiliser la fonction de stockage cloud, ajoutez le code suivant :

// 点击上传按钮
wx.chooseImage({
  success: function(res) {
    var tempFilePaths = res.tempFilePaths;
    
    // 根据实际情况配置你的服务器地址
    var serverUrl = "http://your_server_url/upload.php";
    
    // 上传文件至服务器
    wx.uploadFile({
      url: serverUrl,
      filePath: tempFilePaths[0],
      name: 'file',
      success: function(res) {
        var data = JSON.parse(res.data);
        var fileUrl = data.fileUrl;
        
        // 在此处可将文件URL保存至云数据库或进行其他操作
      }
    })
  }
})

Dans le code ci-dessus, nous utilisons wx.chooseImage从相册中选择一张图片,并使用wx.uploadFile pour télécharger le fichier sélectionné sur notre serveur PHP. Une fois le traitement terminé, le serveur renvoie l'adresse du fichier de stockage cloud à l'applet.

Jusqu'à présent, nous avons implémenté avec succès la fonction de stockage cloud en utilisant PHP pour développer l'applet WeChat. Grâce au stockage cloud, nous pouvons facilement enregistrer les fichiers générés dans le mini programme dans le cloud et mettre en œuvre davantage de fonctions de gestion de fichiers. J'espère que cet article pourra vous aider à utiliser la fonction de stockage cloud lors du développement d'applets WeChat.

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