Aller au contenu

refresh avec IE ?


Sujets conseillés

Posté

salut

j'affiche une galerie d'images avec des miniatures suivant la catégorie ou par mot clé, et quand on selectionne l'image, je l'ouvre en grand dans une page

je récupère ma variable

$MotCle = $_Post ['Mot'];

ainsi que l'Id de mon image dans la BDD....

et j'affiche ..

tout va bien... avec Firefox :D

par contre en testant avec IE l'image qui s'affiche en grand est ...

l'image précédente ( pas dans la BDD mais celle affichée juste avant dans le navigateur ) :blink:

quelqu'un aurait-il une solution du genre un "refresh" ou autre chose ??

je dis ça parce que quand j'actualise la page, l'image est la bonne ( mais je vais pas obliger le visiteur à actualiser sa page à chaque fois )

merci d'avance

Posté

Heeeuuu non

je récupère l'Id de mon image qui est unique

j'y inclu un texte superposé pour le crédit photo

et un truc en plein milieu pour la protection ( php )

ça marche nickel sous firefox

( beuhhh .. ) ch'ui deg' je viens de tester avec Opera et ça me fait pareil qu'avec IE

en rafraichissant la page, la bonne image s'affiche

y'aurait pas un truc du genre

refresh kkchose pour forcer un peu le truc ??

bon ben je m'y remet

si quelqu'un a une astuce....

merci

Posté

salut

voici le code : en fait le code généré est toujours le même pour l'image que j'affiche donc j'ai mis un bout du script



<?php
$NumFoto = $_GET['NumFoto'] ; //recuperation de l' ID de mon image

// ensuite je me connecte a ma base je recupère les infos que je souhaite afficher sur ma page

// script de fusion de deux images ( pour le copyright )
$nomfichier = "limage.jpg" ; // nom de l'image de sortie.
$qualite = 100 ;

//on va chercher l'image principale
$Image = $La_Foto ; //nom de l'image
$Source = "photos/".$Fotograf."/" ; //emplacement de l'image.
$jpg = imagecreatefromjpeg($Source.$Image) ;
$size = getimagesize($Source.$Image) ;

$Image2 = "copy.png" ; //image a fusionner
$Source2 = "photos/" ;
$png = imagecreatefrompng($Source2.$Image2) ;

//( source1 , source2 , distance_x , distance_y , decal_x, decal_y , longueur , hauteur , alpha)
imagecopymerge ($jpg,$png,100,200,0,0,500,63,25) ;

ImageJPEG($jpg,$nomfichier,$qualite) ; //fichier de sortie
?>

<!-- et dans le code généré le nom de l'image est toujours le même : soit " limage.jpg " -->
<div id="limage">
<?php
echo ( "<p class=\"nom\">Photographe : ".$Ident."</p>" ) ;
echo ( "<img src=\"limage.jpg\" />" ) ; // et c'est là que ça merde
?>
</div>

je comprend bien pourquoi ça merdoy mais j'ai pas de solution :huh:

c'est bien mais pô facile le web...

merci de vous interressé à ce pb

deepo

Posté

Ok, effectivement, comme IE considère qu'il a déjà l'image en cache (même nom généré), il ne va pas aller la télécharger.

Comme je ne connais pas d'astuce pour obliger un explorateur à ne pas mettre une image en cache, je te propose plutôt de générer un nom d'image avec un paramètre aléatoire, histoire qu'elle ne soit pas présente en cache.

Un truc du genre :

$nomfichier = rand(1000, 9999).'.jpg';

Nom que tu répercuteras, bien sûr, dans ton script via ta variable (ce que tu ne fais actuellement pas en fin de script, dans ton echo).

Posté

Bonjour,

pour éviter la mise en cache d'une page il est possible d'envoyer des en-têtes le précisant. Il y a plusieurs paramètres à prendre en compte. Pour une simple page, le code suivant (placé avant que tout autre caractère soit envoyé au navigateur) devrait suffire :

<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date du passé
?>

et une note :

Note : Vous pouvez vous rendre compte que vos pages ne sont jamais mises en cache même si vous utilisez tous les en-têtes ci-dessus. Il existe toute une collection de paramètres que les utilisateurs peuvent modifier sur leur navigateur pour modifier le comportement par défaut du cache. En envoyant les en-têtes ci-dessus, vous pouvez imposer vos propres valeurs.

    De plus, les paramètres session_cache_limiter() et session.cache_limiter peuvent être utilisés pour générer les en-têtes de caches corrects, lorsque les sessions sont utilisées.

Pour ces "autres paramètres" je t'invite à consulter la page du manuel PHP et ses commentaires (surtout) de la fonction header.

Posté

merci Captain

t'es un chef !!

ça marche nickel

heu une p'tite chose : en local il me crée une image du genre "5438.jpg" dans le même dossier que mon script ( c'est assez logique )

en ligne ça marche aussi mais les images générées elles sont où ??

dans le dossier temp de l'utilisateur ???

Posté

merci TheRec pour les infos

cette solution ne fonctionne pas à tous les coups apparemment

mais je vais potasser le manuel

et voir quelle solution je garde

en attendant merci encore pour l'aide

rapide et efficace

Posté (modifié)

Vu comment ton fichier est créé, il y a des chances pour que l'image soit créée dans ton répertoire.

Sinon, j'avais également pensé à la solution de TheRec, mais je pensais que ça ne fonctionnerait que pour les pages, et non les images. A tester.

Modifié par captain_torche
Posté

oui exact captain

je viens de guetter avec filezilla

et le serveur va pas aimer si je fais pas quelque chose..

j'essai de trouver la solution tout seul et

j'appelle au secours :gueule: si je trouve pas ..

merci

Posté

hello

je reviens avec mon pb de refresh

l'astuce de créer une image aléatoire ça marche super top

mais je me vois mal me connecter tous les jours au site pour supprimer

les images créer ... donc pas ça

le coup du header apparemment c'est très pro mais ça ne marche pas...

sous firefox ça ne change rien et sous IE j'ai une page blanche

Beeeuuuhh..

donc j'suis toujours pareil em.. embeter

help

Posté

Plutôt que de créer des images temporaires, je ne saurai que te conseiller d'appeler un fichier PHP comme une image, genre :

<img src="image.php?id=numero" alt="Image dynamique"/>

Ensuite, un p'tit peu de GD par-dessus, et ton image sera créée dynamiquement (et pas mise en cache dans les navigateurs, à ce que je sache).

Posté

encore une fois Merci captain torche

cette fois ça fonctionne

j'ai remplacé l'image que j'appelais "limage.jpg"

par ma variable $La_Foto

et c'est au poil...

heu sans vouloir abuser

je voulais mettre une petite ligne de texte dynamique également

en bas de l'image

ça fonctionne en local mais en ligne le script trouve pas la police

pourtant j'ai mis arial ( je pensais que c'etait courant )

comment on fait pour indiquer un chemin qui soit valable pour tous les utilisateurs

avec "ImageTTFText"

mais bon ça c'est moins grave

Posté

zut j'ai parlé trop vite

là aussi ça me crée une image dans mon dossier

encore pas bon alors

Posté

Vérifie si ton hébergeur possède la bibliothèque freeType.

Cette fonction requiert la bibliothèque GD ainsi que la bibliothèque FreeType.

Sinon, tu peux te rabattre sur la fonction imagefttext.

Posté
zut j'ai parlé trop vite

là aussi ça me crée une image dans mon dossier

encore pas bon alors

Si c'est ça, c'est parce que tu crées une image, dans le fichier.

Le principe est de retourner l'image directement au navigateur, avec un header spécifique

header ("Content-type: image/png");

Tu peux avoir plus d'infos sur le tuto de PHPDebutant concernant les images dynamiques.

Posté

hello

bon j'ai bien lu les tutos

je crée mon image et je met un

header("Content-type: image/jpg");

tout ça dans un fichier a part pour voir clair

et dans ma page html j'appelle l'image

echo ( "<img src=\"image.php?NumFoto=$NumFoto\">" );

en un sens ça marche mais l'image s'ouvre toute seule sur une page blanche

on peut pas l'intégrer dans une page html ?

avec le design qui va autour j'veux dire...

Posté

humm bizarre...

l'url de l'image qui s'ouvre toute seul est bien "image.php?NumFoto=$NumFoto" ???

y vaut mieu faire 2 fichier distinct :

image.php : fichier qui génère l'image

<?php
header("Content-type: image/jpg");
$NumFoto = $_GET['NumFoto'] ; //recuperation de l' ID de mon image

// ensuite je me connecte a ma base je recupère les infos que je souhaite afficher sur ma page

// script de fusion de deux images ( pour le copyright )
$nomfichier = "limage.jpg" ; // nom de l'image de sortie.
$qualite = 100 ;

//on va chercher l'image principale
$Image = $La_Foto ; //nom de l'image
$Source = "photos/".$Fotograf."/" ; //emplacement de l'image.
$jpg = imagecreatefromjpeg($Source.$Image) ;
$size = getimagesize($Source.$Image) ;

$Image2 = "copy.png" ; //image a fusionner
$Source2 = "photos/" ;
$png = imagecreatefrompng($Source2.$Image2) ;

//( source1 , source2 , distance_x , distance_y , decal_x, decal_y , longueur , hauteur , alpha)
imagecopymerge ($jpg,$png,100,200,0,0,500,63,25) ;

ImageJPEG($jpg) ; //sortie
//mais je sais pas comment param la qualité en sorti, faut test
?>

ton fichier où afficher l'image :

	<div id="limage">
<?php
 echo ( "<p class=\"nom\">Photographe : ".$Ident."</p>" );
 echo ( "<img src=\"image.php?NumFoto=$NumFoto\">" );
?>
</div>

Posté

a y'est

ouf ça y est ... ça marche

merci a vous qui m'avez aider sur ce coup là

l'erreur que je faisais c'était un

require ("image.php");

dans le fichier où il y a

echo ("<img src=\"image.php?numfoto=$numfoto\" />");

ben voilà c'est cool

si vous voulez voir c'est là

photo aerienne

quelques photographes on commencé à remplir aujourd'hui alors c'est un peu vide

soyez indulgent ce n'est que mon 3ème site

merci encore !!

si vous voulez que je mette le code pour l'affichage de l'image...

a+

Posté

Ca rend bien sympa, tout ça :)

Juste quelques petits conseils :

Lorsque tu listes les départements, ainsi que les photographes, il serait agréable d'avoir à côté, le nombre de photos associées, pour ne pas à avoir à cliquer sur 15 liens avant d trouver du contenu :)

Sinon, je vois que tu as intégré le multi-pages, et il fonctionne plutôt bien, c'est cool.

Et, pour finir, tu devrais limiter la taille des clichés affichés; les plus gros dépassent de ton design : http://www.lafrancevueduciel.fr/image_phot...to=001145724855

Posté

salut captain torche

merci pour l'aide que tu m'as apporté et pour le compliment :rolleyes:

pour les departements ( et les deux autres listes d'ailleurs )

j'ai bien pensé affiché le nbr d'image mais ça risque de faire trop long en affichage

apparemment malgré les précautions prises pour un affichage correct sur ecran 15"

j'ai eu des retours comme quoi certains nom sont sur deux lignes ( ce qui est pas top mais bon... )

ce site va évoluer ( il a qu'une semaine ) et il fô d'abord que je m'attelle au referencement ( j'ai du boulot ) :wacko:

pour les image trop grande, c'est le phootgraphe qui n'a pas bien lu le tuto avant d'uploader ( c'est bien la peine )

j'aurais pu faire un script de redimensionnement

mais je préfère qu'ils optimisent leurs images avant de les mettre sur le serveur

la personne concerné va faire le necessaire pour corriger ça...

en tout cas c'est sympa pour l'aide ;)

a+

Posté

Si tu ne veux pas redimensionner l'image, tu peux au moins vérifier la largeur de l'image avant de l'enregistrer.

Si elle dépasse une taille maximum, tu n'effectues pas l'enregistrement, et tu renseignes un message d'erreur explicite ;)

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...