Maison > base de données > tutoriel mysql > le corps du texte

Comment stocker efficacement des fichiers .pdf sous forme de BLOB dans MySQL à l'aide de PHP ?

DDD
Libérer: 2024-10-24 04:18:02
original
196 Les gens l'ont consulté

How to Effectively Store .pdf Files as BLOBs in MySQL Using PHP?

Stockage efficace des fichiers .pdf dans les BLOB MySQL utilisant PHP

Stockage de gros objets binaires (BLOB) tels que les fichiers .pdf dans les bases de données MySQL l'utilisation de PHP soulève des questions quant à l'approche optimale. Dans cet article, nous examinerons une solution robuste à ce défi courant.

Solution :

En supposant que vous disposez d'une table de base de données avec un ID et une colonne DATA pour stocker les BLOB, envisagez d'utiliser la technique suivante :

<code class="php">$result = mysql_query('INSERT INTO table (
data
) VALUES (
\'' . mysql_real_escape_string(file_get_contents('/path/to/the/file/to/store.pdf')) . '\'
);');</code>
Copier après la connexion

Considérations :

Le stockage des BLOB dans des bases de données présente des inconvénients potentiels tels qu'un gonflement des tables et des difficultés de récupération efficace. Par conséquent, une stratégie recommandée consiste à déplacer le fichier vers un emplacement du système de fichiers et à stocker son chemin dans la base de données à des fins de récupération.

Dépréciation et alternatives modernes :

S'il vous plaît notez que le code fourni est obsolète et ne convient pas à PHP 7 et aux versions ultérieures. Il est fortement conseillé d'adopter des méthodes d'accès aux bases de données modernes comme mysqli ou PDO au lieu des fonctions obsolètes mysql_*.

Exemple mysqli :

En utilisant mysqli en mode procédural, vous peut obtenir la même fonctionnalité avec le code suivant :

<code class="php">$result = mysqli_query($db, 'INSERT INTO table (
data
) VALUES (
\'' . mysqli_real_escape_string(file_get_contents('/path/to/the/file/to/store.pdf'), $db) . '\'
);');</code>
Copier après la connexion

Approche préférée :

Pour des performances et une sécurité optimales, envisagez d'exploiter les instructions préparées par MySQLI ou PDO pour insérer des BLOB. dans votre base de données MySQL. Cela garantit à la fois l'efficacité et la protection contre les attaques par injection SQL.

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
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!