IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Besoin d'aide script galerie


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 228
    Points : 101
    Points
    101
    Par défaut Besoin d'aide script galerie
    Bonjour a tous alors voila je susi en train de fignioler une galerie en php pour mon site.
    Le fonctionnement est simple un dossier contien mes image avec un autre dossier qui contien les migniature generer par le php.

    Sur le web en gros je voudrai une partie migniature et une partie l'image en grand sans rechargement de toute ma page avec l'aide de plusieur personne j'ai reussi a aboutir a un script me permettant de faire cette galerie.

    malheureusement je n'arrive pas a l'adapter pour mon site chaque page contien 2 includes une sur la partie orange(ou je souhaiterai avoir mes miniatures) a gauche et une sur la partie centrale(l'image en grand).

    Je n'arrive pas a faire fonctionner mon script pouvez vous me donner vos avis?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
     
    <?php
    // Config
    $chemin = "images/"; // Dossier des images
    $moyenne = $chemin."moyennes/"; // Dossier des images moyennes
    $vignette = $chemin."vignettes/"; // Dossier des vignettes
    $gal_image = 9;
    // Fin Config
     
    $o = 0;
    $nombre = 0;
    //$page = $_GET['page'];
    $fichier = $_GET['fichier'];
     
    // Crée une vignette ou renvoie l'image
    function Image($image, $desti, $type)
    {
    	$details = getimagesize($image);
     
    	if ($type == "vignette") {
    		$l = 150;
    		$h = 112;
    	} elseif ($type == "moyenne") {
    		$l = 500;
    		$k = $details[0]/$l;
    		$h = $details[1]/$k;
    	} else {
    		$l = $details[0];
    		$h = $details[1];
    	}
     
    	// Cas jpg
    	if ($details[2] == 2) {
    		$image_f = imagecreatefromjpeg($image);
    		$image_d = imagecreatetruecolor($l, $h);
    		imagecopyresampled($image_d, $image_f, 0, 0, 0, 0, $l, $h, $details[0], $details[1]);
    		imagejpeg($image_d, $desti, 75);
    	}
    	// Cas png
    	if ($details[2] == 3) {
    		$image_f = imagecreatefrompng($image);
    		$image_d = imagecreatetruecolor($l, $h);
    		imagecopyresampled($image_d, $image_f, 0, 0, 0, 0, $l, $h, $details[0], $details[1]);
    		imagepng($image_d, $desti);
    	}
     
    	imagedestroy($image_d);
        imagedestroy($image_f);
     
    	return true;
    }
    // **********
     
    // Lecture du dossier galerie
    $debut = $page*$gal_image;
    $fin = $debut+$gal_image;
    $image_liste = array();
     
    $dOpen = opendir($chemin);
    while ($f_image = readdir($dOpen)) {
    	if (is_file($chemin.$f_image)) {
    		$image_liste[$o] = $f_image;
    		if (!file_exists($vignette.$image_liste[$o])) {
    			Image($chemin.$image_liste[$o], $vignette.$image_liste[$o], 'vignette');
    			Image($chemin.$image_liste[$o], $moyenne.$image_liste[$o], 'moyenne');
    		}
    		$o++;
    	}
    }
    closedir($dOpen);
    sort($image_liste);
    $nombre = count($image_liste);
    if (!$fichier) {
    	$fichier = $image_liste[$debut];
    }
    $nom_fichier = substr($fichier, 0, strrpos($fichier, "."));
    ?>
     
     
     
     
    <div class="galerie_cadre"><a href="<?php echo $chemin.$fichier; ?>" onclick="return Blank(this)"><img src="<?php echo $moyenne.$fichier; ?>" alt="<?php echo $nom_fichier ?>" title="Agrandir" /></a></div>
    <div class="galerie_nom"><?php echo $nom_fichier; ?></div>
    <br />
    <table class="galerie_tableau">
    <?php
    for ($i=1 ; $i<=$nombre ; $i++) {
    	if ($debut < $i && $i <= $fin) {
    		$i2++;
    		if (($i2%3) == 1) {
    ?>
    	<tr>
    <?php
    		}
    ?>
    		<td class="glarie_image"><a href="?fichier=<?php echo $image_liste[$i-1]; ?>&amp;page=<?php echo $page ?>" onclick="return Blank(this)"><img src="<?php echo $vignette.$image_liste[$i-1] ?>" alt="<?php echo $image_liste[$i-1] ?>" title="Agrandir" /></a></td>
    <?
    		if (($i2%3) == 0) {
    ?>
    	</tr>
    <?php
    		}
     
    	}
    }
     
    while (($i2%3) != 0) {
    	echo "		<td>&nbsp;</td>\n";
    	$i2++;
    	if (($i2%3) == 0) {
    		echo "	</tr>\n";
    	}
    }
     
    ?>
    </table>
    <table class="galerie_navig">
    	<tr>
    <?php
    $nbpage = ceil($nombre/$gal_image);
    if ($nbpage == 0) {
    	$nbpage = 1;
    }
     
    if ($page == 0) {
    	echo "\t\t<td>&lt; | </td>\n";
    } else {
    	echo "\t\t<td><a href=\"?page=".($page-1)."\">&lt;</a> | </td>\n";
    }
    echo "\t\t<td>";
    for ($a=0 ; $a<=($nbpage-1) ; $a++) {
    	if ($page == $a) {
    		echo ($a+1)." | ";
    	} else {
    		echo "<a href=\"?page=".$a."\">".($a+1)."</a> | ";
    	}
    }
    echo "</td>\n";
     
    if ($page == ($nbpage-1)) {
    	echo "\t\t<td>&gt;</td>\n";
    } else {
    	echo "\t\t<td><a href=\"?page=".($page+1)."\">&gt;</a></td>\n";
    }
    ?>
    	</tr>
    </table>
    Voila le code dans son intégraliter comment est ce que je dois le decouper sachant que j'ai mon include de gauche qui affiche les miniature
    et la centrale qui affiche l'image en grand.
    Merci de votre soutien

  2. #2
    Membre habitué
    Avatar de thanathz
    Inscrit en
    Mars 2002
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 147
    Points : 178
    Points
    178
    Par défaut
    j'ai du mal à comprendre ton problème...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 40
    Points : 48
    Points
    48
    Par défaut frame
    si j'ai compris ton pb, je mettrais les include dans 2 frame séparées ce qui me permettrais de mettre à jour les 2 de façon indépendante

Discussions similaires

  1. besoin d'aide script archivage
    Par punisher62 dans le forum Langage
    Réponses: 10
    Dernier message: 27/08/2009, 11h55
  2. Besoin d'aide script PERL generateur de hits
    Par maiko dans le forum Web
    Réponses: 4
    Dernier message: 11/07/2009, 00h06
  3. debutant - besoins d'aide script
    Par kienast dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 19/05/2009, 23h31
  4. Besoin d'aide script perl MERCI
    Par la_star160 dans le forum Langage
    Réponses: 1
    Dernier message: 11/08/2008, 13h36
  5. [Pb Création de Rôles] Besoin d'aide script
    Par Tgaud dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 31/07/2008, 16h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo