2. Afficher une image de type BLOB en PHP
à partir d’une base de données
Dans ce tutoriel nous allons découvrir comment uploader et afficher des
images blob en php. L’upload d’images est très simple. Il existe deux
manières d’uploader une image soit dans une base de données ou dans un
dossier et sauvegarder le chemin d’accès dans la base de données. Dans ce
tutoriel, nous allons voir comment uploader une image dans une base de
données.
MySQL a un type de données blob qui permet de stocker des données binaires.
Un blob est un ensemble de données binaires stockées sous la forme d’une
entité unique dans un système de gestion de base de données. Les blobs sont
généralement des images, audio ou d’autres objets blob multimédia. MySQL a
quatre types de BLOB:
TINYBLOB
BLOB
MEDIUMBLOB
LONGBLOB
Tous ces types ne diffèrent que par leurs tailles.
Étape 1: Créez une table nommée gallery. La table contiendra deux champs, le
premier est « id » et le deuxième est « image » de type BLOB pour stocker
l’image. Comme indiqué ci-dessous:
3. Étape 2: Créer la page index.php
<html>
<head>
<title>Afficher une image de type BLOB en PHP</title>
</head>
<body>
<form enctype="multipart/form-data" action="upload.php" method="post">
<label>Uploader le fichier image:</label><br />
<input name="userImage" type="file" />
<input type="submit" value="Uploader" />
</form>
</div>
</body>
</html>
4.
5. Créer et utiliser une API REST en PHPREST (Representational State Transfer)
est l’un des moyens pour accéder aux Web services. L’API REST est utilisée
pour effectuer une requête HTTP GET, POST, PUT…Lire plus
Étape 3: Créer le fichier « upload.php » pour stocker l’image dans la base de
données.
<?php
if(isset($_POST["submit"])){
$b = getimagesize($_FILES["userImage"]["tmp_name"]);
//Vérifiez si l'utilisateur à sélectionné une image
if($b !== false){
//Récupérer le contenu de l'image
$file = $_FILES['userImage']['tmp_name'];
$image = addslashes(file_get_contents($file));
$host = 'localhost';
$username = 'root';
$password = ' ';
$db = 'test';
//Créer une connexion et sélectionner la base de données
$db = new mysqli($host, $username, $password, $db);
// Vérifier la connexion
if($db->connect_error){
die("Erreur de connexion: " . $db->connect_error);
}
//Insérer l'image dans la base de données
$query = $db->query("INSERT into gallery (image) VALUES ('$image')");
if($query){
echo "Fichier uploadé avec succès.";
}else{
echo "Échec d'upload du fichier.";
7. Formulaire avec captcha en PHPNous avons tous rencontré la validation captcha
dans des formulaires en ligne. Généralement, les captcha sont utilisés pour
vérifier si vous êtes un humain ou…Lire plus
Étape 4: Créer le fichier « display.php » pour récupérer l’image de la base
de données.
Dans ce fichier, nous allons récupérer l’image à partir du base de données
MySQL en fonction de l’ID et l’afficher sur la page Web. Pour rendre le
fichier image dans la page Web, l’en-tête Content-type est utilisé.
<?php
if(!empty($_GET['id'])){
$host = 'localhost';
$username = 'root';
$password = ' ';
$db = 'test';
//Créer une connexion et sélectionner la base de données
$db = new mysqli($host, $username, $password, $db);
// Vérifier la connexion
if($db->connect_error){
die("Erreur de connexion: " . $db->connect_error);
}
//Récupérer l'image à partir du base de données
$res = $db->query("SELECT image FROM gallery WHERE id = {$_GET['id']}");
if($res->num_rows > 0){
$img = $res->fetch_assoc();
//Rendre l'image
header("Content-type: image/jpg");
echo $img['image'];
}else{
echo 'Image non trouvée...';
}
8. }
?>
Par défaut, PHP n’autorise pas le téléchargement de fichiers > 2 Mo. Le
téléchargement des photos volumineuses échoue si vous ne modifiez pas les
directives upload-max-filesize et post-max-size.
N’oubliez pas de changer le mot de passe par défaut ou d’utiliser une autre
méthode d’authentification.
9. QCM sur PHP – Les bases – Partie 1QCM sur PHP avec des réponses pour la
préparation des entretiens d’embauche, des tests en ligne, aux examens et aux
certifications. Ces questions et réponses…Lire plus
Création d’une table MySQL avec PDO
Connexion à une base de données MySQL avec PHP PDO
Accéder à une base de données MySQL avec PHP
Afficher les données d’une table MySQL avec PHP PDO
Insérer des données dans une table MySQL avec PHP PDO
Multiple Insertion avec PHP PDO
Mise à jour d’une table MySQL avec PHP PDO
Copier une table MySQL avec PHP
Supprimer une ligne d’une table MySQL en PHP PDO
Les transactions avec MySQL et PHP
Appel d’une procédure stockée MySQL avec PHP PDO
Afficher une image de type BLOB en PHP à partir d’une base de données
Vérifier si un émail existe déjà dans la base de données avec PHP
Vérifiez si le nom d’utilisateur existe déjà avec PHP
Authentification d’un utilisateur à l’aide de PDO et password_verify()
Comment faire un formulaire en PHP/MySQL?
QCMs qui pourraient vous intéresser :
Questions techniques sur MYSQL
QCM MySQL Corrigé – Optimisation de requêtes
QCM Base de données avec correction
QCM sur PHP
QCM Symfony
QCM HTML / CSS
10. QCM Java – Programmation Orientée Objet
QCM Python
QCM Cloud Computing
QCM Framework Spring
QCM Javascript
QCM jQuery
QCM Oracle
QCM sur GIT – Gestionnaire de version
QCM Linux – Gestion de processus
QCM Réseau
QCM Architecture des ordinateurs
QCM Securité informatique
QCM En Informatique Générale
QCM en C
QCM en C#
QCM sur l'algorithmique
QCM Word
QCM Excel
QCM PowerPoint
QCM Access