Maison > développement back-end > Problème PHP > Convertir l'image php en tableau d'octets

Convertir l'image php en tableau d'octets

PHPz
Libérer: 2023-05-06 11:33:07
original
953 Les gens l'ont consulté

Lors du développement avec PHP, il est souvent nécessaire de convertir les fichiers image en tableaux d'octets pour faciliter la transmission réseau ou le stockage dans une base de données. Cet article explique comment utiliser PHP pour convertir des images en tableaux d'octets.

1. Utilisez la fonction file_get_contents() pour lire les fichiers image

En PHP, utilisez la fonction file_get_contents() pour lire facilement le contenu du fichier sous le chemin spécifié, y compris les types de fichiers binaires, tels que les images, l'audio, les vidéos, etc. . L'exemple de code est le suivant :

$file = 'path/to/image.jpg';  // 图片文件路径
$data = file_get_contents($file);  // 读取图片内容
Copier après la connexion

Ici, $file est le chemin du fichier image spécifié et $data est le contenu binaire de l'image lue. En utilisant cette méthode pour lire des fichiers, vous pouvez afficher la variable $image directement dans le navigateur, permettant au navigateur d'identifier automatiquement le type d'image et de l'afficher, comme indiqué ci-dessous :

header('Content-Type:image/jpeg');  // 告诉浏览器返回的是JPEG格式的图片
echo $data;  // 输出图片数据
Copier après la connexion

2. Convertissez les données de l'image en un tableau d'octets

Après l'étape précédente, nous avons réussi à lire le contenu binaire de l'image. Ensuite, nous devons le convertir en un tableau d'octets pour une utilisation et une transmission faciles. Ici, nous pouvons utiliser la fonction pack() pour emballer() les données d'image dans une chaîne binaire, puis utiliser la fonction str_split() pour diviser la chaîne binaire en octets afin d'obtenir un tableau d'octets. L'exemple de code est le suivant :

$bytes = str_split(pack('H*', bin2hex($data)));
Copier après la connexion

Ici, la fonction bin2hex() convertit la chaîne binaire en forme numérique hexadécimale, puis la fonction pack() regroupe les données sous forme de chaîne binaire, et enfin la fonction str_split() divise le chaîne binaire dans Pour chaque octet, vous pouvez obtenir un tableau d'octets.

3. Utilisez l'encodage base64 pour convertir le tableau d'octets en texte

L'utilisation de tableaux d'octets peut stocker des données d'image dans la base de données et peut également être transmise sur le réseau, mais nous devons généralement les convertir sous forme de texte pour qu'elles puissent être utilisé à certaines fins. Utiliser et afficher dans certains scénarios, tels que l'affichage d'images dans des pages HTML. Ici, nous pouvons utiliser le codage base64 pour convertir le tableau d'octets sous forme de texte. L'exemple de code est le suivant :

$base64 = base64_encode($data);
Copier après la connexion

Ici, $data est le contenu binaire de l'image lue précédemment. Utilisez la fonction base64_encode() pour convertir les données binaires en texte codé en base64.

IV. Résumé

Cet article présente comment utiliser PHP pour convertir des fichiers image en tableaux d'octets. Les étapes générales sont les suivantes : utilisez d'abord la fonction file_get_contents() pour lire les données binaires de l'image, puis utilisez la fonction pack() pour. regroupez les données sous forme de chaîne binaire, utilisez enfin la fonction str_split() pour diviser la chaîne binaire en chaque octet afin d'obtenir un tableau d'octets. Si vous devez convertir le tableau d'octets sous forme de texte, vous pouvez utiliser le codage base64. Ces opérations sont largement utilisées dans la transmission réseau et le stockage de bases de donné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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal