|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre confirmé
![]() Inscription : août 2004 Messages : 665 ![]() |
Bonjour,
J'ai un fichier test.php : Code :
A présent, il faut paramètrer tout cela. J'ai fais beaucoup de tests, lu des exemples similaires, mais il reste des différences qui fait que ça ne marche pas. Deux pb : l'appel de la procedure make_miniature à partir du source html, puis le passage de paramètre. Je pensais faire Code :
<img border="0" src="make_miniature.php?image=monimage.jpg"> Merci de votre aide |
||
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() Guillaume M. Inscription : décembre 2010 Messages : 60 ![]() |
Tu peux récupérer le paramètre "image" avec $_GET['image']
Peut on avoir un aperçu du code de ton script make_miniature.php ? |
|
00
|
|
|
#3 | ||
|
Membre confirmé
![]() Inscription : août 2004 Messages : 665 ![]() |
J'avais essayé d'utiliser $_GET['param'], mais cela ne retournait rien. Je crois que le pb vient de l'appel de la fonction make_miniature, pourquoi cette extension .php ? et je passe bien un paramètre (image) à la fonction alors qu'apporte $_GET ? J'avais cru aussi comprendre que $_GET servait de PHP à PHP, moi mon appel se fait à partir d'HTML. Soit c'est un pb de syntaxe d'appel, soit c'est impossible à faire (j'ai lu que certains passait par du javascript pour appeler le php à partir d'html, mais c'était de vieux posts). Je bute la dessus depuis pas mal de jours.
Merci Code :
|
||
|
|
00
|
|
|
#4 |
|
Membre régulier
![]() Guillaume M. Inscription : décembre 2010 Messages : 60 ![]() |
Le script que tu viens de copier ne fonctionne pas pour ce que tu veux faire. Il permet simplement de générer une miniature à partir d'une image existante et de l'enregistrer dans un répertoire ("./Images/ImagePeinture/" dans ton cas).
Il faudrait savoir quel est le but recherché, soit générer une miniature à la volée à chaque chargement de la page, soit générer une miniature une bonne fois pour toute et l'enregistrer sur le serveur. Il est tout à fait possible de mettre une page PHP en source sur la balise image dans ton code HTML, il faut simplement que le PHP ait un retour correct (image/jpeg, image/png...) |
|
00
|
|
|
#5 |
|
Membre éclairé
![]() Olivier Étudiant Inscription : novembre 2010 Messages : 303 ![]() |
Bonjour,
Est-ce que la page qui te renvoie ton image déclare bien les entêtes en précisant que c'est une image pour que ce soit traité en tant que tel ? |
|
|
00
|
|
|
#6 |
|
Membre confirmé
![]() Inscription : août 2004 Messages : 665 ![]() |
je voulais faire une galerie de photos accessible à partir de leurs miniatures : le curseur passe sur la miniature et l'image réelle apparait en popup. Je suis conscient qu'il y a d'autres manières de faire, mais bon ce que je veux faire ne me semble pas inconsidéré :
En html je crée une image :????? est l'appel à ma fonction php avec le nom du fichier jpg en paramètre. La fonction php va créer la miniature coté serveur si elle n'existe pas déjà (c'est à faire) et renvoie le nom de la miniature. Pour "humitake": la fonction php renvoie le nom de l'image miniature, c'est bien ce qui est attendu par la directive <img src=?????? >. Merci |
|
|
00
|
|
|
#7 | |
|
Membre éclairé
![]() Olivier Étudiant Inscription : novembre 2010 Messages : 303 ![]() |
Citation:
Soit tu créer ta miniature à la volée, dans ce cas tu doit créer une page PHP qui génère ton image en miniature et est retournée en HTML avec les entêtes indiquant au navigateur qu'il s'agit d'une image. Avec cette solution tu place le nom de la page PHP en source. Soit tu créer la miniature seulement si elle n'existe pas, tu as donc une solution de stockage derrière. C'est la solution que tu utilise il me semble. Dans ce cas il te suffit de passer dans src le chemin de ton image et dans ce cas ce qui est attendu est effectivement le nom de l'image (avec son chemin si différent du dossier de la page). Mais dans ce cas tu t'y prend mal ce que tu fait ici : Code html :
<img border="0" src="make_miniature.php?image=monimage.jpg">
Il faut appeler la fonction dirrectement (en php) et utiliser alors le retour de cette dernière. Code html :
<img border="0" src="<php echo make_miniature('monimage.jpg'); ?>">
|
|
|
|
10
|
|
|
#8 |
|
Membre confirmé
![]() Inscription : août 2004 Messages : 665 ![]() |
Grand merci.
C'est en effet la solution Code :
img border="0" src="<php echo make_miniature('monimage.jpg'); ?>"> |
|
|
00
|
|
|
#9 | ||||
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 738 ![]() |
Salut
Citation:
Du coup, la solution vient forcément d'un langage coté client (html, css, javascript). A ma connaissance, il existe que 2 manières de déclencher quelque chose au survole, soit en Css, soit en JS. En faite, ce que tu recherche serait ni plus ni moins ce qu'on appel une fausse popup. C'est à dire qu'on affiche une image en miniature par défaut, puis on place aussi une 2ème image plus grande dans une DIV cachée/masqué par défaut. Au survole de la miniature, on rend visible cette DIV masqué. Pour cela, en général on exploite du JS, évènement onmaouseover/onmouseout (au-dessus/en-dehors de l'élément à survoler) pour changer des propriétés Css (display : none ou block) de l'autre élément à afficher/masquer. A coté de ça, si tu souhaite créer "à la volée" (en Php) la miniature, effectivement il te faut faire ce qui est évoqué plus haut. Il me semble que cette technique est de moins en moins utilisée car (très) gourmande en ressource. Il est préférable à mon sens de créer la miniature au moment où l'image est déposée sur le serveur lors d'un upload par exemple (cela en Php). Cette opération ce fera qu'une seule fois (alors qu'une miniature créé à la volée se fera autant de fois qu'il y aura d'utilisateurs affichant celle-ci). Apparemment, la fonction make_miniature() sert à créer la miniature si elle n'existe pas. C'est un moindre mal il est vrai. Citation:
Le déroulement du code Php (coté serveur) n'a rien avoir avec le déroulement du code Html. On peu très bien appeler cette fonction avant la 1ère balise Html (doctype/html>), et c'est même mieux (meilleure séparation des traitements et de l'interface). Suffit d’initialiser le nom de l'image. Code :
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
||||
|
|
00
|
|
|
#10 |
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 738 ![]() |
Je remarque ceci dans la fonction :
Code :
$message = 'Erreur : Le fichier n\'existe pas !'; Car un contenu comme "Erreur : Le fichier n\'existe pas !" dans un attribut src="...", ce n'est pas correcte. Ou alors il faudrait faire une alternative avant de créer la balise <img />.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
|
|
00
|
|
|
#11 |
|
Membre confirmé
![]() Inscription : août 2004 Messages : 665 ![]() |
Je suis d'accord avec vos remarques, en effet les miniatures peuvent être créées avant de s'occuper de l'affichage et le code source que j'ai fourni n'est pas finalisé, c'est un ensemble de copier/coller à retester précisément.
Pour le rendu, voici ce que j'appelle popup : http://cssglobe.com/lab/tooltip/02/ Pour l'instant j'explore la faisabilité avant de me décider quoi faire, avec php, javascript, ajax, jquery ... c'est tout un monde que je ne connais pas (je suis plus à l'aise en C, python, X11/motif, gtk+, oracle, c'est pourquoi je dois me mettre à niveau) Merci encore |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com