Une galerie de fichiers swf

Invité
Invité n'ayant pas de compte PHPfrance

31 mars 2010, 15:47

Bonjour,
voile j'ai besoin de vos lumière.

J'ai une page en PHP ou actuellement j'ai une animation swf qui se lance dessus. je voudrais rajouter sur la page des vignettes (de simple petite images) qui lorque l'on clic dessus chacune lance une animation flash.
mais tout cela sur la même page PHP.

Je précise que ces anime ne doivent pas ce lancer en même temps.

Eléphant du PHP | 428 Messages

31 mars 2010, 18:38

Salut,

Si tu t'intéresse à la création de miniatures (vignettes) dynamiquement en php voici une piste :
<?

$source = imagecreatefromjpeg("momimage.jpg"); // source de ton image

$destination = imagecreatetruecolor(200, 150); //image miniature vide crée



// Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image

$largeur_source = imagesx($source);

$hauteur_source = imagesy($source);

$largeur_destination = imagesx($destination);

$hauteur_destination = imagesy($destination);



// On crée la miniature

imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);



// On enregistre la miniature sous le nom "mini_image.jpg"

imagejpeg($destination, 'mini_image.jpg');

?> 
Puis tu n'as qu'a insérer les miniatures dans ta page puis faire un lien dessus.
Du côté de flash (pour avoir un seule et même animation qui charge les autres), tu as deux solutions :

1. regarder du côté de loadmovie dans flash (nécessite des connaissances en programmation ActionScript)
2. créer un code PHP dynamique qui chargera tes animations


Pour créer un code PHP dynamique :

1. Tu crée ta variable dynamique comme ceci : $variabledynamique = "mon fichier.swf";

2. Tu l'insére dans le code d'appel de fichier flash :
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="400" height="250">
<param name="movie" value="'.$variabledynamique.'">
<param name="play" value="true">
<param name="loop" value="true">
<param name="quality" value="high">
<param name="WMode" value="Window">
<embed width="100" height="100" src="'.$variabledynamique.'" play="true" loop="true" quality="high">
</embed></object> 
Pour appeler dynamiquement le contenu de la $variabledynamique, tu mets dans le lien de te miniatures :
<a href = "monfichier.php?vardynamique=monfichier.swf">
Puis tu chope la variable dynamique renvoyée dans l'URL comme ceci :
if (isset ($_GET['vardynamique']) AND !empty ($_GET['vardynamique'])) {
$variabledynamique = $_GET['vardynamique'];
}
Ainsi, suivant le lien que tu mets au niveau de tes miniatures, tu renverra (dans la barre d'adresse) : vardynamique=monfichier.swf.
Après avoir envoyer la variable dynamique, le code l'interpretera et l'injectera dans le code qui affiche du flash.

// Miniatures + lien
<a href = "monfichier.php?vardynamique=monfichier1.swf" target="_self"><img scr="images/miniature1.jpg" /></a>
<a href = "monfichier.php?vardynamique=monfichier2.swf" target="_self"><img scr="images/miniature2.jpg" /></a>
<a href = "monfichier.php?vardynamique=monfichier3.swf" target="_self"><img scr="images/miniature3.jpg" /></a>
<a href = "monfichier.php?vardynamique=monfichier4.swf" target="_self"><img scr="images/miniature4.jpg" /></a>

// On récupère la variable dynamique
if (isset ($_GET['vardynamique']) AND !empty ($_GET['vardynamique'])) {
$variabledynamique = $_GET['vardynamique'];
}

// On affiche le swf player avec le contenu dynamique ($variabledynamique)
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="400" height="250">
<param name="movie" value="'.$variabledynamique.'">
<param name="play" value="true">
<param name="loop" value="true">
<param name="quality" value="high">
<param name="WMode" value="Window">
<embed width="100" height="100" src="'.$variabledynamique.'" play="true" loop="true" quality="high">
</embed></object> 

A+
raph
Modifié en dernier par visualight le 31 mars 2010, 18:49, modifié 1 fois.

ViPHP
ViPHP | 5462 Messages

31 mars 2010, 18:39

version=6,0,29,0
:wink:

Eléphant du PHP | 428 Messages

31 mars 2010, 18:42

version=6,0,29,0
:wink:

C'est un exemple bien sûr ;)
Pour générer un code swf, tu peux utiliser la librairie : http://code.google.com/p/swfobject/

Invité
Invité n'ayant pas de compte PHPfrance

01 avr. 2010, 14:08

Merci pour votre aide