Méthylbro Développeur Web PHP

mardi 24 novembre 2009

PHP/MySQL : Enregistrer et lire des fichiers dans une base de données

PHP/MySQL : Enregistrer et lire des fichiers dans une base de donnéesTout au long de la semaine dernière nous avons vu comment enregistrer et consulter des fichiers dans une base de données MySQL avec PHP.

Nous avons appris les principes de bases des Objets Larges Binaires (BLOB) ainsi que les outils mis a notre disposition par PDO pour les manipuler efficacement avec PHP. Nous avons vu également les limites de ce genre de pratiques et comment en résoudre certaines en implémentant un petit système de cache côté PHP.

Au cours de mes exemples j’ai proposé une classe FileFromDB et un ensemble de pages permettant de démontrer comment réaliser tout cela. Vous trouverez aujourd’hui, en annexe à ce billet, l’ensemble des scripts utilisées comme exemple.

Télécharger des sources : exemple.rar

Je n’ai malheureusement pas eu le temps de les commenter proprement mais si vous vous reportez aux articles de la semaine, vous serais alors à même de les comprendre.

  1. MySQL : Stocker un fichier dans une base de données
  2. PHP : Enregistrer un fichier dans une base de données
  3. PHP : Lire un fichier stocké dans la base de données
  4. PHP : Un cache pour nos fichiers stockés dans MySQL

Si cela vous intéresse de venir discourir des avantages et des (nombreux) inconvénients que peuvent avoir cette pratique, je vous invites à venir le faire sur le forum dans l’espace dédié au développement.

vendredi 20 novembre 2009

PHP : Lire un fichier stocké dans la base de données

PHP : Lire un fichier stocké dans la base de donnéesNous avons vu précédemment comment stocker un fichier dans une base de données MySQL. Puis nous avons explorer ensemble une méthode pour insérer ce fichier dans la base directement à l’aide d’un petit script PHP. Aujourd’hui nous allons voir comment récupérer ce fichier avec PHP.

Notre exemple sera très simple, nous allons seulement récupérer le fichier là ou il est, c’est a dire dans la base de données MySQL, pour le retourner directement à un visiteur.

Il n’y aura donc pas de traitement sur ce fichier. Cependant cela serait tout à fait possible. Récemment par exemple je me suis retrouver dans un cas ou je devais modifier des images après les avoir récupérer dans une base de données.

Lire la suite...

mardi 17 novembre 2009

PHP : Enregistrer un fichier dans une base de données

PHP : Enregistrer un fichier dans une base de donnéesMaintenant que nous disposons d’une base de données prête à stocker nos fichiers directement au sein d’une table nous allons pouvoir commencer à regarder comment faire fonctionner cela proprement avec PHP.

Nous verrons donc aujourd’hui comment enregistrer un fichier au sein d’un champ de type LONGBLOB avec PHP. Ici le fichier proviendra d’un formulaire mais on pourrais très bien étendre le champ d’application de cette méthode à tout type de sources.

L’exemple utilisera PDO (PHP Data Object) ; si vous n’êtes pas à l’aise avec cette extension de PHP je vous conseille vivement de vous mettre à jour. Car comme vous pourrez le voir les fonctionnalités que proposent cette extension sont fort agréables.

Lire la suite...

dimanche 15 novembre 2009

MySQL : Stocker un fichier dans une base de données

MySQL : Stocker un fichier dans une base de donnéesTechniquement il est tout à fait possible de stocker des fichiers directement au sein d'une base de données.

Cependant peut de développeurs se risquent à ce genre de pratique. Il est vrai que si l'on maîtrise mal certains aspects, ou s'il on en demande trop à cette technique cela peut vite se révéler être un véritable calvaire.

Néanmoins je reste intimement convaincu que dans certains cas et pour des besoins raisonnables il peut être fort agréable de pouvoir stocker des fichiers directement au sein d'une base de données.

Cette semaine je vous propose une série de billets qui va vous permettre de comprendre comment réaliser une telle chose. Mais je vais également essayer de vous amener à bien appréhender les risques et les limites d'une telle pratique ce qui vous permettra de mieux envisager sur quel projet cela peut ou ne peut pas se faire.

Lire la suite...