Maison >base de données >tutoriel mysql >Comment stocker en toute sécurité des fichiers PDF en tant que BLOB dans MySQL à l'aide d'alternatives PHP ?

Comment stocker en toute sécurité des fichiers PDF en tant que BLOB dans MySQL à l'aide d'alternatives PHP ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-23 22:45:02660parcourir

How to Securely Store PDF Files as BLOBs in MySQL Using PHP Alternatives?

Stockage de fichiers PDF sous forme de BLOB dans MySQL à l'aide de PHP

Une méthode pour stocker des fichiers PDF sous forme de BLOB (Binary Large Objects) dans MySQL à l'aide de PHP consiste à utiliser les fonctions de MySQL pour s'interfacer avec la base de données. Voici un extrait de code qui illustre cette approche :

<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>

Cependant, le stockage des BLOB dans des bases de données n'est généralement pas considéré comme optimal en raison de problèmes potentiels tels que le gonflement des tables. Une approche alternative serait de stocker le chemin d'accès au fichier dans la base de données au lieu du fichier lui-même.

Code PHP obsolète et note de dépréciation

Il est crucial de noter que l'exemple de code fourni utilise les fonctions obsolètes mysql_*. Ces fonctions ne sont plus recommandées et ont été complètement supprimées dans PHP 7. Pour éviter des erreurs potentielles, il est essentiel de passer à des alternatives plus modernes telles que MySQLi ou PDO pour l'abstraction de base de données.

Alternative avec le mode procédural MySQLi

En utilisant MySQLi en mode procédural, voici comment effectuer la même tâche :

<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>

Approche recommandée : déclarations préparées MySQLi/PDO

Pour des performances et une sécurité optimales, il est recommandé d'utiliser MySQLi ou PDO avec des instructions préparées pour stocker les BLOB dans MySQL.

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