Heim >Backend-Entwicklung >PHP-Tutorial >Wie entwickle ich mit PHP die Cloud-Speicherfunktion des WeChat-Applets?

Wie entwickle ich mit PHP die Cloud-Speicherfunktion des WeChat-Applets?

WBOY
WBOYOriginal
2023-10-26 09:51:33930Durchsuche

Wie entwickle ich mit PHP die Cloud-Speicherfunktion des WeChat-Applets?

Wie verwende ich PHP, um die Cloud-Speicherfunktion des WeChat-Miniprogramms zu entwickeln?

Angesichts der Beliebtheit und Nutzung von WeChat-Miniprogrammen stoßen Entwickler beim Erstellen funktionsreicher Miniprogramme häufig auf Probleme bei der Dateispeicherung und -verwaltung. Glücklicherweise bietet das WeChat-Applet eine Cloud-Speicherfunktion, die es Entwicklern erleichtert, Dateien in der Cloud zu speichern und über PHP zu verwalten. In diesem Artikel wird detailliert beschrieben, wie PHP zum Entwickeln der Cloud-Speicherfunktion des WeChat-Applets verwendet wird, und es werden spezifische Codebeispiele bereitgestellt.

Schritt 1: Cloud-Entwicklungsfunktion aktivieren
Zuerst müssen Sie die Cloud-Entwicklungsfunktion in den WeChat Developer Tools aktivieren. Suchen und öffnen Sie im Stammverzeichnis des Miniprogrammprojekts die Datei „project.config.json“ und fügen Sie den folgenden Code hinzu:

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

Schritt 2: Richten Sie die Miniprogramm-Cloud-Umgebung ein
In der Schnittstelle „Cloud-Entwicklung“. Klicken Sie im Miniprogramm auf „ Klicken Sie auf die Schaltfläche „Aktivieren“, um die Cloud-Entwicklungsfunktion zu aktivieren. Richten Sie dann eine Cloud-Umgebung für das Applet ein. Klicken Sie in den „Umgebungseinstellungen“ der Cloud-Entwicklungsoberfläche auf „Neue Umgebung“, geben Sie den Umgebungsnamen ein und klicken Sie auf „OK“.

Schritt 3: PHP-Server einrichten
Während der Entwicklung und des Testens können wir die lokale PHP-Umgebung zum Debuggen verwenden. Stellen Sie zunächst sicher, dass auf Ihrem Computer eine PHP-Umgebung und MySQL oder eine andere Datenbank installiert ist. Als nächstes müssen Sie eine neue PHP-Datei erstellen, um die Cloud-Speicherfunktion des Miniprogramms zu verwalten. Nehmen wir als Beispiel den Datei-Upload.

Erstellen Sie eine neue Datei „upload.php“ und fügen Sie den folgenden Code hinzu:

<?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));
?>

Laden Sie die PHP-Datei auf Ihren PHP-Server hoch und stellen Sie sicher, dass das Miniprogramm auf die Server-URL zugreifen kann.

Schritt 4: Rufen Sie die PHP-Schnittstelle im Miniprogramm auf.
Fügen Sie auf der Miniprogrammseite, die die Cloud-Speicherfunktion verwenden muss, den folgenden Code hinzu:

// 点击上传按钮
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保存至云数据库或进行其他操作
      }
    })
  }
})

Im obigen Code verwenden wir wx.chooseImage从相册中选择一张图片,并使用wx.uploadFile, um die ausgewählte Datei hochzuladen unser PHP-Server. Nachdem der Server die Verarbeitung abgeschlossen hat, gibt er die Cloud-Speicherdateiadresse an das Applet zurück.

Bisher haben wir die Cloud-Speicherfunktion der Verwendung von PHP zur Entwicklung des WeChat-Applets erfolgreich implementiert. Durch Cloud-Speicher können wir die im Miniprogramm generierten Dateien einfach in der Cloud speichern und weitere Dateiverwaltungsfunktionen implementieren. Ich hoffe, dieser Artikel kann Ihnen dabei helfen, die Cloud-Speicherfunktion bei der Entwicklung von WeChat-Miniprogrammen zu nutzen.

Das obige ist der detaillierte Inhalt vonWie entwickle ich mit PHP die Cloud-Speicherfunktion des WeChat-Applets?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn