ENREGISTRER ET AFFICHER UN BLOB (MYSQL)

cs_aKheNathOn Messages postés 575 Date d'inscription dimanche 23 décembre 2001 Statut Membre Dernière intervention 23 octobre 2012 - 18 janv. 2010 à 09:22
jmpicot Messages postés 8 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 19 janvier 2010 - 18 janv. 2010 à 12:47
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/51121-enregistrer-et-afficher-un-blob-mysql

jmpicot Messages postés 8 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 19 janvier 2010
18 janv. 2010 à 12:47
Oui, effectivement ce n'est pas faux, mais en fait ce que je propose n'est qu'une toute petite partie que j'ai sortie d'un projet beaucoup, beaucoup, plus gros et j'ai fait vite, histoire de partager un code sur le Blob qui fonctionne et avec une syntaxe correcte et cohérente mais sans non plus le faire au mieux du top ;)
cs_nashouille Messages postés 21 Date d'inscription mardi 16 mars 2004 Statut Membre Dernière intervention 11 juillet 2008
18 janv. 2010 à 12:16
Les class static dans ton projet: revient uniquement à déclaré une série de fonctions définis dans un nom. Je trouve cela dommage par rapport au concept de dev du projet que tu présente.
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.
jmpicot Messages postés 8 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 19 janvier 2010
18 janv. 2010 à 10:28
Bonjour,

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?
cs_nashouille Messages postés 21 Date d'inscription mardi 16 mars 2004 Statut Membre Dernière intervention 11 juillet 2008
18 janv. 2010 à 09:38
bonjour,
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.
cs_aKheNathOn Messages postés 575 Date d'inscription dimanche 23 décembre 2001 Statut Membre Dernière intervention 23 octobre 2012
18 janv. 2010 à 09:22
Salut, j'ai regardé le source mais j'ai pas pu dans la doc trouver le benchmark entre accès disque ou accès blob pour avoir un comparatif de perfs.

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 ?
Rejoignez-nous