|
Nainwak's World Combattez des nains de jardins !
|
Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
Musclenain Nain-stallé(e)
Inscrit le: 21 Jan 2005 Messages: 204 Localisation: Au Chateau des Ombres
|
Posté le: Lun Fév 07, 2005 10:13 am Sujet du message: Script php gallerie d'images |
|
|
Voilà je cherche un script php pour une gallerie d'images. En cherchant sur le net, on en trouve des tonnes et des tonnes mais... c'est compliqué pour moi . Plus sérieusement, j'aimerai un script simple qui tienne en un fichier php et pas un truc lourdeau qui a des milliers d'options...
J'ai un répertoire contenant toutes les images, j'aimerai que le script parcours ce répertoire, et les affiche en miniatures dans une section <table></table> que j'aurais définie. Quand on clique sur le miniature, il l'ouvre dans une autre fenêtre.
Et surtout que le script ne soit pas trop compliqué à comprendre pour que je puisse le personnaliser (cadre, background, etc...).
Si vous connaissez un script dans ce genre, merci par avance. Sinon j'en prendrai un hyper complexe . _________________ Musclenain
Représentant des DA 80's
http://da80s.free.fr |
|
Revenir en haut de page |
|
|
Musclenain Nain-stallé(e)
Inscrit le: 21 Jan 2005 Messages: 204 Localisation: Au Chateau des Ombres
|
Posté le: Lun Fév 07, 2005 10:26 am Sujet du message: |
|
|
Je pense aussi que ce script soit réalisable soi-même, donc avec un ou deux petits conseils, je pense pourvoir le réaliser moi-même... Je sais lister un répertoire, afficher ce qu'il contient mais générer des miniatures.... _________________ Musclenain
Représentant des DA 80's
http://da80s.free.fr |
|
Revenir en haut de page |
|
|
Azharh Nain-stallé(e)
Inscrit le: 20 Jan 2005 Messages: 260 Localisation: There are only 10 types of people in the world: Those who understand binary, and those who don't
|
Posté le: Lun Fév 07, 2005 6:02 pm Sujet du message: |
|
|
C'est marrant ça... Je suis justement en train de bosser sur ça ! (bon, c'est vrai qu'à raison d'une heure ou deux tous les week-end, j'avance pas très très vite, mais bon... ) _________________ Azharh
Mari de la délicieuse Dame Pistachou.
Celestia, femme de Neo_Bahamut ! |
|
Revenir en haut de page |
|
|
Moebius Nain(e) au biberon
Inscrit le: 02 Fév 2005 Messages: 3 Localisation: Quelque part, près d'un fût de bière
|
Posté le: Mar Fév 08, 2005 11:30 am Sujet du message: |
|
|
Un petit script, tout simple.
Il faut que tu mettes les vignettes dans un repertoire appelé "vignettes", et les grandes images dans un repertoire appellé "grandes" et c'est tout.
Fichier "galerie.php"
Code: |
<html>
<body>
<?
require("function.php");
$files = getDirFiles("./vignettes");
$nbCols = 4;
$nbRows = 3;
if(isset($_GET["i"]) )
$i = $_GET["i"];
else
$i = 0;
echo "<table width = \"100%\">\n";
$k = 0;
$prevnext ="";
if (!($i == 0))
{
$iTmp = $i - $nbCols*$nbRows;
$prevnext .= " <a href = afficheimage.php?i=$iTmp><< prev</a>";
}
if(($i + $nbCols*$nbRows) < count($files))
{
$iTmp = $i + $nbCols*$nbRows;
$prevnext .=" <a href = afficheimage.php?i=$iTmp>next >></a>";
}
while ( $k < $nbRows AND ($i< count($files)) )
{
echo "<tr>\n";
for ($j = 0; $j < $nbCols; $j++)
{
echo " <td>\n<a href=\"./grandes/$files[$i]\" target=\"blank\"><img src=\"./vignettes/$files[$i]\"><br>\n";
echo " $files[$i]\n</a></td>\n";
$i++;
}
echo "</tr>";
$k++;
}
echo "</table><br>\n";
echo $prevnext;
?>
</body>
</html> |
fichier "function.php"
Code: |
<?
function getDirFiles($dirPath)
{
if ($handle = opendir($dirPath))
{
while ($file = readdir($handle))
{
if ($file != "." && $file != "..")
{
$filesArr[] = trim($file);
}
}
closedir($handle);
}
return $filesArr;
}
?> |
Voilà, il n'y a donc aucune option ! Enfin, si en changeant les valeurs de $nbCols, et $nbRows, tu change le nombre de lignes et de colonnes de la galerie.
Si c'est necessaire, l'affichage aura lieu sur plusieurs pages. _________________ [A.d.N] |
|
Revenir en haut de page |
|
|
DJMiki Nain au biberon
Inscrit le: 20 Jan 2005 Messages: 354 Localisation: Là
|
Posté le: Mar Fév 08, 2005 1:44 pm Sujet du message: |
|
|
En même temps je crois qu'il ne voulait pas créer lui même les miniatures mais qu'elles soient gérées automatiquement par le script
Je me trompe ?? _________________ (\|||/)
(+'.'+) Viens Bunny, on va conquir le monde !!
(")_(") |
|
Revenir en haut de page |
|
|
Musclenain Nain-stallé(e)
Inscrit le: 21 Jan 2005 Messages: 204 Localisation: Au Chateau des Ombres
|
Posté le: Mar Fév 08, 2005 1:57 pm Sujet du message: |
|
|
DJMiki a écrit: |
Je me trompe ?? |
Tu ne te trompes pas effectivement _________________ Musclenain
Représentant des DA 80's
http://da80s.free.fr |
|
Revenir en haut de page |
|
|
AtlzA piège à boulets
Inscrit le: 20 Jan 2005 Messages: 1410 Localisation: Madrid -> Rennes
|
Posté le: Mar Fév 08, 2005 2:14 pm Sujet du message: |
|
|
jette un oeil du cote de la librairie GD.
petit exemple de code que j'utilise sur la meteo, ce script gere 3 formats de fichiers:
Code: |
function reduit_fichier($iduser,$extension){
//error_reporting (E_ALL);
// on donne à PHP le lien vers notre image à miniaturiser
$path="./imgs/trombi/";
$Image = $path.$iduser.".".$extension;
$ratio = 100;
$ratio2 = 640;
$resized=0;
// on crée une ressource représentant en fait l'image à miniaturiser
switch ($extension){
case "jpg" :
$src=imagecreatefromjpeg($Image);
break;
case "gif" :
$src=imagecreatefromgif($Image);
break;
case "png" :
$src=imagecreatefrompng($Image);
break;
}
// on récupère les paramètres de notre image (getimagesize est une fonction qui retourne un tableau contenant les paramètres d'une image : sa largeur, son hauteur, son type, etc…)
$size = getimagesize($Image);
//var_dump($size);
// on test si la largeur de l'image est supérieur à sa longueur
if ($size[0] > $size[1]) {
$taillautre = round(($ratio/$size[1])*$size[0]);
// on crée une ressource pour notre miniature
if ($extension == "gif") $im=imagecreate ( round(($ratio/$size[1])*$size[0]), $ratio );
else $im=imagecreatetruecolor(round(($ratio/$size[1])*$size[0]), $ratio);
// on place dans la ressource que nous venons de créer une copie de l'image originelle, redimensionnée et réechantillonée
imagecopyresampled($im, $src, 0, 0, 0, 0, $taillautre,$ratio, $size[0], $size[1]);
}
else {
$taillautre = round($size[1]*($ratio/$size[0]));
// si la largeur est inférieure ou égale à la hauteur, on entre dans ce cas
// on crée une ressource pour notre miniature
if ($extension == "gif") $im=imagecreate ( $ratio, round(($ratio/$size[0])*$size[1]) );
else $im=imagecreatetruecolor($ratio, round(($ratio/$size[0])*$size[1]));
// on place dans la ressource que nous venons de créer une copie de l'image originelle, redimensionnée et réechantillonée
imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, $taillautre, $size[0], $size[1]);
}
if ($size[0] > $ratio2){
$taillautre2 = round(($ratio2/$size[1])*$size[0]);
// on crée une ressource pour notre miniature
if ($extension == "gif") $im2=imagecreate ( round(($ratio2/$size[1])*$size[0]), $ratio2 );
else $im2=imagecreatetruecolor(round(($ratio2/$size[1])*$size[0]), $ratio2);
// on place dans la ressource que nous venons de créer une copie de l'image originelle, redimensionnée et réechantillonée
imagecopyresampled($im2, $src, 0, 0, 0, 0, $taillautre2,$ratio2, $size[0], $size[1]);
$resized=1;
}
// on définit le nom de notre miniature
$miniature = $path."prevu/mini_".$iduser.".".$extension;
// on crée notre miniature
switch ($extension){
case "jpg" :
imagejpeg ($im , $miniature);
break;
case "gif" :
imagegif ($im , $miniature);
break;
case "png" :
imagepng ($im , $miniature);
break;
}
imagedestroy($im);
if ($resized == 1){
$im_redim= $path.$iduser.".".$extension;
imagedestroy($src);
switch ($extension){
case "jpg" :
imagejpeg ($im2 , $im_redim);
break;
case "gif" :
imagegif ($im2, $im_redim);
break;
case "png" :
imagepng ($im2 , $im_redim);
break;
}
}
//imageDestroy($src);
} |
ce code redimensionne l'image de base si elle est plus large que 640px et dans tout les cas en cree une miniature. _________________ Nainwakmeteo - FireNainwak |
|
Revenir en haut de page |
|
|
gipsy Nain(e) à l'aise
Inscrit le: 26 Jan 2005 Messages: 189
|
Posté le: Sam Fév 12, 2005 4:03 am Sujet du message: |
|
|
Le seul problème de ces scripts c'est que cela ne modifie pas la taille de l'image au moment de convertir donc lors de l'affichage, toutes les vignettes sont un peu lourdes et ceci est lent à charger pour un 56K par exemple... _________________ (\_/\_/)
(+ -.- +) !! Bunny au pouvoir !!
(")_|_(") Aidez-le à rejoindre mon encyclo...
Gipsy. |
|
Revenir en haut de page |
|
|
AtlzA piège à boulets
Inscrit le: 20 Jan 2005 Messages: 1410 Localisation: Madrid -> Rennes
|
Posté le: Sam Fév 12, 2005 7:06 pm Sujet du message: |
|
|
le mien est une fonction tu l'appeles quand tu veux
a l'enregistrement ou apres...
de plus tu te trompes cela ne joue pas sur ta connection l'image serait redimensionnée a la volée sur le serveur et ton ordinateur ne recevrait que la petite....
Donc pas de pb pour ta connection. _________________ Nainwakmeteo - FireNainwak |
|
Revenir en haut de page |
|
|
|
|
Vous ne pouvez pas poster de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum
|
|