Maison >développement back-end >Problème PHP >php base64 en flux binaire

php base64 en flux binaire

王林
王林original
2023-05-06 13:42:071474parcourir

Dans le développement Web, le langage back-end PHP est l'un des langages les plus courants. La conversion du format de données impliquée est également très courante, parmi lesquelles Base64 est une méthode souvent utilisée pour coder des données binaires. Pour le téléchargement de fichiers, le traitement d'images et d'autres scénarios de développement Web, nous devons convertir les données au format Base64 en un flux binaire. Cet article explique comment utiliser PHP pour convertir des données au format Base64 en un flux binaire.

1. Qu'est-ce que l'encodage Base64 ?

Base64 est une méthode de codage qui peut coder des données binaires en caractères ASCII. Elle est souvent utilisée dans des scénarios tels que la transmission d'e-mails, la transmission par protocole HTTP et le stockage crypté. Le principe principal du codage Base64 est de convertir trois octets de 8 bits en quatre mots de code de 6 bits et de les remplir avec le caractère "=". Étant donné que certains caractères spéciaux sont supprimés des 64 mots de code, on parle de codage Base64.

2. Comment encoder/décoder Base64 ?

Dans le traitement PHP, l'encodage/décodage Base64 peut utiliser directement les fonctions intégrées. Pour une chaîne, vous pouvez utiliser base64_encode() pour l'encoder. Pour une donnée codée en Base64, vous pouvez utiliser base64_decode() pour la décoder.

Par exemple, l'extrait de code suivant implémente l'encodage et le décodage de chaînes.

$str = "hello world";
echo base64_encode($str); // Sortie aGVsbG8gd29ybGQ=
echo base64_decode("aGVsbG8gd29ybGQ="); , Comment convertir des données au format Base64 en flux binaire ?

En PHP, pour les données au format Base64, on peut utiliser la fonction base64_decode() pour décoder et stocker les données décodées. En prenant le stockage d'images comme exemple, nous devons convertir les données au format Base64 en un flux binaire (c'est-à-dire un fichier binaire).

L'extrait de code suivant montre comment stocker des données d'image au format Base64 dans un fichier local.

$base64_image = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0CAYAAAFOiXE1AAAABmJLR0QAAAAAAAD5Q7t/AAAAi0lEQVR4nO3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPwGgAAQAA8MoQAAIABJREFU3rNl3X1sldW+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/ s +/ s+ /s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s2mJ0zKOmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZt/52gV7fnu/0BKbV7fj +g mBwOdA2nnn2/v8WPsB41EvXr81q3UKqrq56r440WfI5J5+5fjGdeua556PLlW5P6fdXNL6C19ve6/Kvpt6Xi5eJhZsaGTUUQEB /gVgcF +g1ZePJZZy+e9XJcV7LjEzt3nZ4s53deJpEyl+eiJtghgRPV7JF9X+TtTwwwuPtPwmBwOdA2nlm12mWLOxIfm2ouq+195LFy9Xp8Wf/uAHMvZtvfWXzc5N5d8/j5GZHfmNFRMUFB QQR6dd dXJ6/v/1OTqrqc5fea1Z5aPOf968dMGSzqeDps24NGzeU6X+B9iggUFhYKCgoyMjAIKApVVFRgR8 evRQHxvXE3N3r6qqqpyx8fHBYGCgoKyswMwrIk+dNBqNRqNjo7EQICgrK29mSEhJoJm YmBAQEAu0 DQwJDQwNDQ2t8d/+rae/1vhNlOJiYlNcN7GvjYaGh4c3qNSHR4fzxoLj4+Kh4cVlZWeYGFYC7QNKyQkFBQVcaMGMAnQNKbVTh8dL1ePV7Cw8Ofn5+xlW5fcvvykpKELZpN5i5PT5 W5duvU 6ejtyy+/OjU6NAhENvaWlpOzs7KyoqJiRsbGygW8qtg2MzPz3K5Xr9WmzatEsstISejXL169fmzJljDaWlpb8QvTKywPypWrj9XrVmJSUlISEgIAAAAABJRU5ErkJggg==";

$file _path = "test. png" ;

$binary_data = base64_decode(str_replace('data:image/png;base64,', '', $base64_image));
$file = fopen($file_path, "wb");
fwrite($file, $binary_data);
fclose ($file);
?>

Analysez le code suivant :

Définit d'abord une chaîne au format Base64 $base64_image et définit le nom du fichier (test.png) où le fichier sera stocké. Ensuite, appelez la fonction str_replace() pour remplacer la chaîne data:image/png;base64, dans l'en-tête de la chaîne au format Base64 par rien et convertissez-la en données binaires.

Ensuite, définissez le nom du fichier où le fichier sera stocké, ouvrez le fichier en lecture et en écriture, écrivez les données binaires correspondantes et enfin fermez le fichier.

De cette manière, le processus de conversion des données d'image au format Base64 en un flux binaire et de leur stockage dans un fichier local est réalisé.

4. Résumé

Cet article présente principalement comment convertir des données au format Base64 en un flux binaire en PHP. Le codage Base64 offre un large éventail de scénarios d'application dans le développement Web. Pour certains scénarios nécessitant la transmission ou le stockage de données binaires, la compréhension du codage Base64 est très importante. J'espère que les lecteurs auront une compréhension plus approfondie du codage Base64 et une meilleure compréhension de son utilisation dans des applications pratiques grâce à l'étude de cet article.

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