Affichage dynamique d'une image

Affichage dynamique d'une image - PHP - Programmation

Marsh Posté le 01-01-2008 à 16:11:26    

Salut à tous !
 
Voila , j'ai un petit soucis et n'étant pas très callé en php, je fais appel à vous
 
Je souhaiterai qu'à chaque rechargement d'une image png sur mon site , s'éxécute un script php.
Ce script php change l'image en fonction de différent paramètre.
J'ai vu en parcourant un peu les forum , qu'il était possible avec un .htacess de redirigé une image vers un script php, seulement il va y avoir beaucoup de fichier et cela va être compliqué de les ajouté a ce .htaccess.
 
Si vous avez des idées , je suis preneur  :love:  

Reply

Marsh Posté le 01-01-2008 à 16:11:26   

Reply

Marsh Posté le 01-01-2008 à 16:31:59    

Un répertoire destiné à fournir ces PNG avec dedans un .htaccess contenant :

Code :
  1. RewriteEngine on
  2. RewriteRule (.*)\.png image.php?img=$1 [L]


Non?


Message édité par dwogsi le 01-01-2008 à 17:13:12

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 01-01-2008 à 16:51:08    

En effet cela semble être une bonne idée !
Mais est il possible de récupéré le nom du fichier comme variable à l'intérieur même du script php ?

Reply

Marsh Posté le 01-01-2008 à 16:55:27    

$_GET['img'] contiendra le nom du fichier :spamafote:

Reply

Marsh Posté le 01-01-2008 à 16:55:40    

Tu prends le problème à l'envers non. Ce qui recharge l'image c'est bien un page, un script peu importe. Bref c'est ce script qui doit appeler le php et pas l'image non?

Reply

Marsh Posté le 01-01-2008 à 17:03:41    

euh non car je souhaite que le script php opère au moment de l'affichage de l'image.
Je test tout cela quand je rentre du boulot et vous tient au courant
Merci à vous en tout cas :)

Reply

Marsh Posté le 01-01-2008 à 17:05:14    

snooze24 a écrit :

euh non car je souhaite que le script php opère au moment de l'affichage de l'image.
Je test tout cela quand je rentre du boulot et vous tient au courant
Merci à vous en tout cas :)


 
 
AJAX alors, qui appelle un script php avec en param le nom de l'image :/ enfin peut être que je n'ai pas réellement compris la question

Reply

Marsh Posté le 01-01-2008 à 17:10:11    

Je me suis peut être mal exprimé , sorry  
 
Je vais vous donner un exemple concret :
J'ai une image abcd.png sur www.site.com.  
Je souhaite que lorsque quelqu'un tente d'afficher l'image par www.site.com , le script image.php s'éxecute et selon un paramètre comme par exemple le mois , modifie le png et affiche la nouvelle image .
 
C'est peut être plus concret comme cela :)

Reply

Marsh Posté le 01-01-2008 à 17:10:50    

michelnet1 a écrit :


 
 
AJAX alors, qui appelle un script php avec en param le nom de l'image :/ enfin peut être que je n'ai pas réellement compris la question


Pourquoi AJAX bordel?!


Message édité par dwogsi le 01-01-2008 à 17:11:09

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 01-01-2008 à 17:18:28    

snooze24 a écrit :

Je me suis peut être mal exprimé , sorry

 

Je vais vous donner un exemple concret :
J'ai une image abcd.png sur www.site.com.
Je souhaite que lorsque quelqu'un tente d'afficher l'image par www.site.com , le script image.php s'éxecute et selon un paramètre comme par exemple le mois , modifie le png et affiche la nouvelle image .

 

C'est peut être plus concret comme cela :)


Modifiée à la volée? Définitivement?
Quoi qu'il en soit faut voir ce que tu veux obtenir niveau URL... Si tu veux conserver ton url avec un beau .png à la fin, voir premier post :o
Sinon tu peux toujours appeler ton script directement.
Ça donne :

Code :
  1. <img src="images/image.php?img=tonImage" alt="lala" />


Après, voir les fonctions de traitement d'image de PHP http://fr.php.net/image
Et puis aussi renvoyer les bonnes en-têtes, style :

Code :
  1. <?php
  2. header('Content-type: image/png');
  3. ?>


http://fr.php.net/header
Pour la suite, google est ton amis!

 

Et puis si c'est pour afficher le mois en cours dans l'image, prévoir de la mise en cache! Pas la peine de faire le traitement 20 000 fois!

 

PS: Bonne année, j'suis encore plein bordel! :D


Message édité par dwogsi le 01-01-2008 à 17:33:01

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 01-01-2008 à 17:18:28   

Reply

Marsh Posté le 01-01-2008 à 17:26:17    

Ok merci bien !
Je pense gardé le .png pour pouvoir utilisé mon png en sign sur des forums .

Reply

Marsh Posté le 01-01-2008 à 17:27:50    

A si c'est pour de la signature en forum, URL rewriting indispensable.
Beaucoup de forum, phpbb parmi les pires, contrôlent l'extension.


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 01-01-2008 à 17:55:32    

dwogsi a écrit :

A si c'est pour de la signature en forum, URL rewriting indispensable.
Beaucoup de forum, phpbb parmi les pires, contrôlent l'extension.


 
Yep c'est bien chi**t d'ailleurs  :sarcastic:  
Hmm j'ai encore une petite question. Comme il n'est pas possible de nommer un fichier possédant une url contenant des "/" , existe t'il un moyen de le crypté puis de le décrypté à l'aide du script php ?
 
ps : Bonne année aussi :D

Reply

Marsh Posté le 01-01-2008 à 17:57:24    

Crypter???????????????????????????????????????????
Tu peux être plus explicite?????????????????????????
Pour le moment je serais tenté de répondre URL rewriting!


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 01-01-2008 à 18:04:26    

Plutôt transformé que crypté .
Puisqu'on ne peux pas avoir un fichier portant le nom d'une url comme par exemple http://www.monsite.com/dossier/.png j'aimerai que ceci soit transcrit en quelquechose du style 687474703A2F2F777.png (ou autre) et que à l'intérieur de mon script php je puisse retrouvé http://www.monsite.com/dossier/ .
Euh c'est plus clair comme sa ?
 
Merci encore  :love:  

Reply

Marsh Posté le 01-01-2008 à 18:11:21    

http://www.monsite.com/ c'est censé être connu comme infos.
Ensuite en PHP tu peux te baser sur $_SERVER['REQUEST _URI']
Sinon ba... URL rewriting!

Code :
  1. RewriteEngine on
  2. RewriteRule (.*)/.*\.png$ image.php?rep=$1 [L]


 
Quelque chose comme ça, mais je suis pas très sûr de ma regex là.


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 01-01-2008 à 23:22:26    

Un éclair à traversé mon cerveau et j'ai compris ce que tu veux :whistle:
 
Utilises un hash (md5 par exemple) si c'est pour retrouver l'image en fonction du referrer en effet ;)
 
md5() tout simplement pour php ;)

Reply

Marsh Posté le 02-01-2008 à 13:02:01    

Exact j'y ai pensé aussi , mais je suis plus tenté par une transformation en hex ou en base64

Reply

Marsh Posté le 02-01-2008 à 14:47:16    

Bah fais comme tu veux :spamafote: T'as ta solution, peut importe l'algorithme :)

Reply

Marsh Posté le 04-01-2008 à 00:11:58    

Bonsoir
J'aurai encore besoin d'aide :)
En utilisant http://monsite.com/image.php?img=exemple.png j'aimerai ne récupéré que le nom sans le .png à l'aide de $_GET['img'] (pour l'exemple , seulement "exemple" et non pas "exemple.png" )
Comment pourrais je faire cela ?
Merci encore

Reply

Marsh Posté le 04-01-2008 à 00:17:37    

http://fr.php.net/substr
http://fr.php.net/explode
http://fr.php.net/str_replace
Plein d'idées...
http://fr.php.net/manual/fr/ref.strings.php


Message édité par dwogsi le 04-01-2008 à 00:18:19

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 04-01-2008 à 00:33:08    

Hihi génial sa marche avec le str_replace :D
Thx again

Reply

Marsh Posté le 05-01-2008 à 22:34:25    

Bonsoir
Alors voila , j'ai encore un soucis !

 

J'utilise le .htaccess que vous m'avez filé

Code :
  1. RewriteEngine on
  2. RewriteRule (.*).png image.php?img=$1 [L]
 

et j'utilise la fonction header ("location" ) dans le script image.php pour me redirigé sur l'image png, après traitement, comme dans l'exemple simplifié :

 
Code :
  1. <?
  2. $links =  $_GET['img'] ;
  3. header("Location: $links" );
  4. ?>
 

Le problème est que ca ne fonctionne pas du tout , j'obtient une page introuvable  :cry:

 

J'ai éssayé sur plusieurs hebergeurs acceptant l'url rewriting et toujours le même résultat.
Par contre , quand je fait un test avec ce code il m'affiche bien un résultat :

 
Code :
  1. <?
  2. $links =  $_GET['img'] ;
  3. echo "$links";
  4. ?>


 :heink:

 

La fonction header est elle incompatible avec l'url rewriting ?
Existe t'il une autre solution pour me redirigé sur l'image après le déroulement du script ?

 

Merci a vous

 



Message édité par snooze24 le 05-01-2008 à 22:36:39
Reply

Marsh Posté le 05-01-2008 à 23:07:23    

Reply

Marsh Posté le 05-01-2008 à 23:12:09    

Je viens de me rendre compte de ma connerie .
Forcément si j'essaye de redirigé sur un .png du dossier ou l'on trouve le .htaccess , sa ne peut fonctionné .


Message édité par snooze24 le 06-01-2008 à 00:19:49
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed