Cette petite application, inspirée du tuto de Beaussier "
http://beaussier.developpez.com/articles/php/mysql/blob", vous permet d'enregistrer une image dans une base mysql et d l'afficher ensuite dans votre formulaire.
Utilisation du super framework de BDD,
http://phpdao.com/
Conclusion :
Un fichier "readme.txt" présent dans l'archive vous explique tout.
Attention de ne pas avoir de ligne vide avant "<?php" et/ou après "?>" dans vos fichier php, sinon l'image ne s'affiche pas!!!
18 janv. 2010 à 12:47
18 janv. 2010 à 12:16
Pour exemple les class (ServiceUtil et ServicePhoto) manque de flexibilité.
il serait plus simple d'avoir une propriété Photo propre a une instance afin de faire respecté l'encapsulation et évité le l'appel reçurent des méthodes.
Ce ne sont que des idées personnels.
18 janv. 2010 à 10:28
Pour répondre à aKheNathOn, il faut savoir que l'enregistrement en Blob d'un fichier ne doit pas se faire pour des fichiers trop volumineux, sinon effectivement ça va pourrir un peu ta base. Sinon, pour un fichier de 1Mo, le temps d'accès est aussi rapide qu'un système de fichiers si ta base et ton dossier de stockage sont hébergés sur le même serveur (localhost) mais en plus, comme tu l'as dit, tu as l'avantage de la synchronisation de tes données, pas de soucis à se faire sur le remplacement des fichiers et/ou la suppression ni sur les droits d'écriture.
Pour nashouille, quel est le soucis avec les classes statiques?
18 janv. 2010 à 09:38
je connais le tuto sur développez.com, il manque une adaptation en php5.
L'écriture de certaine class est en php4. Perso je ne suis pas pour les méthodes de class static. Dans la majorité des cas un singleton ferai l'affaire. Dommage la class Arraylist implémente pas iterator.
Un bonne exemple avec respect POO.
18 janv. 2010 à 09:22
De toute manière j'imagine ça doit être plus lent car faut compter en plus de l'accès à la ressource, le temps de transmission du server vers le driver.
Du coup si j'ai bien compris, le blob c'est une requette sql classique avec un strip slashes (qui est de toute manière fait) et l'avantage principal c'est d'être certain que l'enregistrement la resource disque soient synchronises (nom, suppression, modifications)
Saurais-tu quelle est la perte de perf sur un fichier d'1 mo environ entre un système disque et mysql ?
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.