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