malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 2010
-
4 août 2006 à 13:36
cs_jlbrenas
Messages postés43Date d'inscriptionvendredi 31 mai 2002StatutMembreDernière intervention 6 avril 2009
-
10 oct. 2008 à 00:10
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_jlbrenas
Messages postés43Date d'inscriptionvendredi 31 mai 2002StatutMembreDernière intervention 6 avril 2009 10 oct. 2008 à 00:10
Bonsoir,
Je viens de découvrir cette classe et ma question est celle d'un débutant en PHP.
Est-ce qu'il est possible d'utiliser ce script avec un upload de photos qui doivent être limitées au niveau du poids (ex. 500 Ko) ?
Cordialement.
lordbdp
Messages postés33Date d'inscriptiondimanche 9 octobre 2005StatutMembreDernière intervention10 avril 2020 19 mai 2007 à 05:04
Toujours pas de migration vers PHP5 ?Dommage car c'est un script bien pratique...
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 22 août 2006 à 09:30
Barnaky => ben oui...
cs_barnaky
Messages postés4Date d'inscriptionvendredi 28 mai 2004StatutMembreDernière intervention23 mars 2007 21 août 2006 à 22:58
ovh est en PHP5 ? Free est en PHP5 ?
guill76
Messages postés193Date d'inscriptionmercredi 24 août 2005StatutMembreDernière intervention 3 juin 2016 21 août 2006 à 22:32
Passes au php5: ça pourra jamais marcher sur easyphp1.8.
cs_barnaky
Messages postés4Date d'inscriptionvendredi 28 mai 2004StatutMembreDernière intervention23 mars 2007 19 août 2006 à 21:13
Parse error: parse error, expecting `')'' in d:\program files\easyphp1-8\www\projet\classethumb\system.php on line 8
guill76
Messages postés193Date d'inscriptionmercredi 24 août 2005StatutMembreDernière intervention 3 juin 2016 13 août 2006 à 23:47
Salut,
Suite à un repost de mes scripts, de nouvelles remarques:
Une nouvelle classe héritée est présente (thumbV3 mise à jour du 13/08), mais est en cours de réalisation, donc je ne garantie rien quand à son utilisation étant donné que je l'ai livrée brute de décoffrage, à vous le choix de la garder ou non.
(Elle permettra de gérer dans un futur proche l'historisation des paramètrages.)
guill76
Messages postés193Date d'inscriptionmercredi 24 août 2005StatutMembreDernière intervention 3 juin 2016 9 août 2006 à 01:32
Je voudrais juste faire un complément d'explication car maintenant cette classe qui se voulait simple est devenu plutôt compliquée pour un débutant.
Les fonctionnalités qui ont été ajoutées dans ma dernière MAJ du 09/08:
Une détection automatique des modifications de la galerie principale(pas seulement l'ajout ou la supprsession mais aussi la modification de la taille ou de la date d'un fichier image connu) ce que j'ai appelé trigger : une sorte d'évenement déclencheur du resize.
On peut maintenant définir le nom de son fichier de configuration.
J'ai amélioré aussi la gestion des erreurs.
Pour constater les bienfaits de cette classe on peut s'amuser à:
Ajouter 10 images de 1 MO dans la galerie, Lancer le script (30 sec de traitement sur P3).
Supprimer manuellement ces 10 images de la galerie principale, en modifier 1 sur les 10 en local, les redéposer toutes dans le bon répertoire et relancer le script.(3 sec pour 10 images=>seule la modifiée est redimensionnée)
Ajouter 1 image dans la galerie ,lancer le script(3 sec de traitement pour un P3)
Réenregsitrer 1 image déjà existante dans la galerie sans changer sa taille(puis paramètrer le trigger à UPDATEDBYFILETIME dans le script) et le lancer (3 sec de traitement sur P3).
Supprimer 1 image et lancer le script (aucun resize =>instantanné).
guill76
Messages postés193Date d'inscriptionmercredi 24 août 2005StatutMembreDernière intervention 3 juin 2016 6 août 2006 à 17:13
Salut, je viens de le faire, du coup je me retrouve presque avec le même code que le tien pour la fonction resize, à l'exception que je n'utilise pas l'option de reduction avec deformation et que je n'ai pas gardé le createfunction (car cela revient sensiblement au même d'utiliser les variables dynamiques, enfin je pense). Bon voilà il me semble que cette classe devient maintenant assez interessante. J'ai mis en plus, dans cette correction, les méthodes et propriétés en protected au cas où, il viendrait à l'idée de quelqu'un, de la dériver.
Pour le ini, étant donné qu'il n'y a que tres peu de paramètres à charger, je laisse ma fonction qui récupére et enregistre les param 1 à 1:
Pour 2 ou 3 paramètres, y a pas de mal, sinon, dans le cas d'une pelletée de params, il serait effectivement préférable d'utiliser parse_ini_file pour les charger, tous, dans un tableau.
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 5 août 2006 à 19:14
Regarde mon code de miniaturisation (un truc du genre : fonction générique de redimensionnement d'images, je crois, pour le titre), ça te guidera pour effectuer quelques optimisations, et quelques ajouts d'options.
guill76
Messages postés193Date d'inscriptionmercredi 24 août 2005StatutMembreDernière intervention 3 juin 2016 4 août 2006 à 23:32
J'avais pas tilté et maintenant, j'ai enfin tilté pour les proportions.
Donc j'ai modifié. Et effectivement c'est mieux comme ça, enfin, ça a l'air de marcher, je reposte encore la source version Malalam.
Merci pour tes remarques. J'espère que ya pas de bugs avec ces modifs, j'en ai pas vu pour l'instant.
guill76
Messages postés193Date d'inscriptionmercredi 24 août 2005StatutMembreDernière intervention 3 juin 2016 4 août 2006 à 20:03
Garder les proportions sur le coté le plus grand??? ça veut dire quoi malalam ?.
Soit l'image est reduite en gardant ses proportions (donc sur les 2 cotés) comme ici, soit tu lui autorise la déformation (moi non) .
Là sincérement je vois pas trop ce que tu veux dire.
Sinon , bien vu pour la casse des extensions j'avais loupé ça : je peux corriger ça rapide.
Pour le fichier de conf, l'idée est d'avoir une trace du dernier redimensionnement effectué pour eviter de le rejouer à chaque ajout d'images sur les images déjà présente
Exemple:
A: 1 admin met 10 images (non réduites ) dans la galerie principale:
l'admin du site effectue son redimensionnement à 5% de l'original:
Lors du premier resize toutes les photos seront créées et réduites dans leur totalité à l'interieur du rep thumb. la chaine reduction = 0.05 est stockée dans le fichier de conf qui est créé.
B: Plus tard l'admin décide de rajouter une photo sans changer la reduction qui lui convient. Le resize s'effectuera uniquement sur la photo ajoutée (grâce à la trace laissée dans le fichier de conf lors du 1er resize).
Mais ça n'empêche pas à l'utilisateur d' ajouter dans le fichier de configuration à la main exemple la ligne :
Thumb=0.05
Puis d'écrire ceci pour l'instanciation:
$test = new thumb('img',get_infile('conf.ini','Thumb')+0);
.....
...
et là t'as ta valeur de configuration en entrée.
Voilà je corrige et je rezippe.
Merci.
Tu peux voir cette source comme un module d'administration
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 4 août 2006 à 13:36
Hello,
j'ai regardé rapidement, et je suis géné par quelques trucs :
- ta classe ne permet pas de gérer les proportions. Genre, je veux redimensionner en gardant les proportions...je veux redimensionner en gardant les proportions sur le côté le plus grand, ou le plus petit, etc etc...
- pourquoi n'utilises-tu pas getimagesize () pour récupérer le type mime de ton image, au lieu de récupérer une hypothétique extension ? En plus, ça t'économiserait ton tableau énorme pour stocker les types, et la fonction équivalente...et puis bon, concernant ce tableau, tu aurais pu te passer de la casse facilement, aussi. Si j'écris JpEg, tu fais comment ? ;-). Et il y a une fonction dédiée à la création dynamique de fonctions : create_function ().
- enfin, dommage que le fichier de conf ne soit pas plutôt un départ...je veux dire : je le crée à la main, et la classe le lit pour se configurer correctement. Voir parse_ini_file par exemple.
10 oct. 2008 à 00:10
Je viens de découvrir cette classe et ma question est celle d'un débutant en PHP.
Est-ce qu'il est possible d'utiliser ce script avec un upload de photos qui doivent être limitées au niveau du poids (ex. 500 Ko) ?
Cordialement.
19 mai 2007 à 05:04
22 août 2006 à 09:30
21 août 2006 à 22:58
21 août 2006 à 22:32
19 août 2006 à 21:13
13 août 2006 à 23:47
Suite à un repost de mes scripts, de nouvelles remarques:
Une nouvelle classe héritée est présente (thumbV3 mise à jour du 13/08), mais est en cours de réalisation, donc je ne garantie rien quand à son utilisation étant donné que je l'ai livrée brute de décoffrage, à vous le choix de la garder ou non.
(Elle permettra de gérer dans un futur proche l'historisation des paramètrages.)
9 août 2006 à 01:32
Les fonctionnalités qui ont été ajoutées dans ma dernière MAJ du 09/08:
Une détection automatique des modifications de la galerie principale(pas seulement l'ajout ou la supprsession mais aussi la modification de la taille ou de la date d'un fichier image connu) ce que j'ai appelé trigger : une sorte d'évenement déclencheur du resize.
On peut maintenant définir le nom de son fichier de configuration.
J'ai amélioré aussi la gestion des erreurs.
Pour constater les bienfaits de cette classe on peut s'amuser à:
Ajouter 10 images de 1 MO dans la galerie, Lancer le script (30 sec de traitement sur P3).
Supprimer manuellement ces 10 images de la galerie principale, en modifier 1 sur les 10 en local, les redéposer toutes dans le bon répertoire et relancer le script.(3 sec pour 10 images=>seule la modifiée est redimensionnée)
Ajouter 1 image dans la galerie ,lancer le script(3 sec de traitement pour un P3)
Réenregsitrer 1 image déjà existante dans la galerie sans changer sa taille(puis paramètrer le trigger à UPDATEDBYFILETIME dans le script) et le lancer (3 sec de traitement sur P3).
Supprimer 1 image et lancer le script (aucun resize =>instantanné).
6 août 2006 à 17:13
Pour le ini, étant donné qu'il n'y a que tres peu de paramètres à charger, je laisse ma fonction qui récupére et enregistre les param 1 à 1:
Pour 2 ou 3 paramètres, y a pas de mal, sinon, dans le cas d'une pelletée de params, il serait effectivement préférable d'utiliser parse_ini_file pour les charger, tous, dans un tableau.
5 août 2006 à 19:14
4 août 2006 à 23:32
Donc j'ai modifié. Et effectivement c'est mieux comme ça, enfin, ça a l'air de marcher, je reposte encore la source version Malalam.
Merci pour tes remarques. J'espère que ya pas de bugs avec ces modifs, j'en ai pas vu pour l'instant.
4 août 2006 à 20:03
Soit l'image est reduite en gardant ses proportions (donc sur les 2 cotés) comme ici, soit tu lui autorise la déformation (moi non) .
Là sincérement je vois pas trop ce que tu veux dire.
Sinon , bien vu pour la casse des extensions j'avais loupé ça : je peux corriger ça rapide.
Pour le fichier de conf, l'idée est d'avoir une trace du dernier redimensionnement effectué pour eviter de le rejouer à chaque ajout d'images sur les images déjà présente
Exemple:
A: 1 admin met 10 images (non réduites ) dans la galerie principale:
l'admin du site effectue son redimensionnement à 5% de l'original:
Lors du premier resize toutes les photos seront créées et réduites dans leur totalité à l'interieur du rep thumb. la chaine reduction = 0.05 est stockée dans le fichier de conf qui est créé.
B: Plus tard l'admin décide de rajouter une photo sans changer la reduction qui lui convient. Le resize s'effectuera uniquement sur la photo ajoutée (grâce à la trace laissée dans le fichier de conf lors du 1er resize).
Mais ça n'empêche pas à l'utilisateur d' ajouter dans le fichier de configuration à la main exemple la ligne :
Thumb=0.05
Puis d'écrire ceci pour l'instanciation:
$test = new thumb('img',get_infile('conf.ini','Thumb')+0);
.....
...
et là t'as ta valeur de configuration en entrée.
Voilà je corrige et je rezippe.
Merci.
Tu peux voir cette source comme un module d'administration
4 août 2006 à 13:36
j'ai regardé rapidement, et je suis géné par quelques trucs :
- ta classe ne permet pas de gérer les proportions. Genre, je veux redimensionner en gardant les proportions...je veux redimensionner en gardant les proportions sur le côté le plus grand, ou le plus petit, etc etc...
- pourquoi n'utilises-tu pas getimagesize () pour récupérer le type mime de ton image, au lieu de récupérer une hypothétique extension ? En plus, ça t'économiserait ton tableau énorme pour stocker les types, et la fonction équivalente...et puis bon, concernant ce tableau, tu aurais pu te passer de la casse facilement, aussi. Si j'écris JpEg, tu fais comment ? ;-). Et il y a une fonction dédiée à la création dynamique de fonctions : create_function ().
- enfin, dommage que le fichier de conf ne soit pas plutôt un départ...je veux dire : je le crée à la main, et la classe le lit pour se configurer correctement. Voir parse_ini_file par exemple.