Maison >développement back-end >Problème PHP >Comment convertir un blob en base64 en php

Comment convertir un blob en base64 en php

PHPz
PHPzoriginal
2023-04-05 14:37:14949parcourir

Dans le développement réel, nous devons parfois convertir certains flux binaires sous forme de chaîne, comme convertir des images sous forme de chaîne et les enregistrer dans la base de données. En PHP, nous pouvons utiliser des champs blob pour enregistrer des flux binaires, mais nous devons parfois convertir les champs blob en codage base64 pour les afficher dans des pages Web. Dans cet article, nous verrons comment convertir les champs blob en codage base64 en PHP.

Tout d'abord, nous devons lire les données binaires du champ blob de la base de données. Nous pouvons utiliser l'extension PDO de PHP pour faire fonctionner la base de données. Voici un exemple de code simple :

try {
  $dbh = new PDO("mysql:host=localhost;dbname=test", $user, $pass);
  $stmt = $dbh->prepare("SELECT image FROM images WHERE id = ?");
  $stmt->bindParam(1, $id);
  $stmt->execute();
  $image = $stmt->fetchColumn();
  $dbh = null;
} catch (PDOException $e) {
  print "Error!: " . $e->getMessage() . "<br/>";
  die();
}

Dans le code ci-dessus, nous utilisons l'instruction préparée par PDO pour lire les données du champ d'image dans l'enregistrement avec l'identifiant $id de la base de données. La variable $image contiendra le flux de données binaires.

Ensuite, nous devons convertir le flux de données binaires en codage base64. La fonction base64_encode() intégrée de PHP peut réaliser cette fonction. Voici un exemple de code :

$base64_image = base64_encode($image);

Convertissez le flux de données binaires $image en codage base64 et enregistrez-le dans la variable $base64_image.

Enfin, nous pouvons utiliser des données d'image codées en base64 dans les pages Web. Voici l'exemple de code :

<img src="data:image/jpeg;base64,<?php echo $base64_image; ?>" alt="image" />

Le code ci-dessus affichera une image dans le navigateur. Parmi eux, data:image/jpeg;base64, représente le format d'encodage de l'image et les données d'image codées en base64.

Pendant le développement, nous pouvons utiliser la méthode ci-dessus pour convertir le champ blob en encodage base64 pour l'afficher sur la page Web. Cela évite d'avoir à télécharger des images depuis le serveur à chaque fois que la page est ouverte. Dans le même temps, la bande passante et les ressources du serveur peuvent également être économisées.

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