Portail PHP

Forum de discussion et d'aide au php

Vous n'êtes pas identifié.

Annonce

Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides.
FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans.
Proposez vos news : si vous avez un evenement à annoncer
le chat : venez discuter de php.
 

#1 07-07-2005 12:35:06

cmoijulie
Membre
Date d'inscription: 07-07-2005
Messages: 35

créer une photothèque

Bonjour,

Je dois réaliser une photothèque du genre epictura.fr pour mon stage et j'ai beau chercher je trouve aucun script qui convient...
Je travaille en php mysql alors que j'ai appris postgre, donc c'est assez dur!
pouvez-vous m'aider ?

Merci
Julie

Hors ligne

 

#2 07-07-2005 12:42:35

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: créer une photothèque

tu trouvera pas mal de scripts ici : http://www.comscripts.com
si tu choisit de le développer toi meme, je pense que la meilleure solution est que tu commence, et si tu a un probleme, que tu es coincée quelque part, tu vienne poser ta question ici

Hors ligne

 

#3 07-07-2005 12:43:06

Anubis
Membre
Date d'inscription: 07-07-2005
Messages: 19
Site web

Re: créer une photothèque

Tu cherche quoi en fait un site tout fait pour y incorporer ta banque d'image?

Hors ligne

 

#4 07-07-2005 12:44:45

Anubis
Membre
Date d'inscription: 07-07-2005
Messages: 19
Site web

Re: créer une photothèque

Je te conseille de le faire toi meme c'est plus simple, et en plus tu connaitra le code parcequ'incorporé un code existant c'est legerement plus dur, car il ne correspond pas forcement exactement à ce que tu souhaites

Hors ligne

 

#5 07-07-2005 13:15:11

cmoijulie
Membre
Date d'inscription: 07-07-2005
Messages: 35

Re: créer une photothèque

pour l'instant j'ai ca :

Code:

<html>
<head>
    <title>
    </title>
<link rel="stylesheet" href="general.css" type="text/css">
<SCRIPT>

function aff(nom,largeur,hauteur)
{
doc = window.open('','','toolbar=0,directories=0,location=0,status=0,menubar=0,scrollbars='+0+',resizable=0,width='+largeur+',height='+hauteur);
doc.document.write("<html><head><title>——— Photothèque ———</title></head><body topmargin=0 leftmargin=0 bgcolor='000000'>");
doc.document.write("<p align=center><font size=1 face=arial><a href='javascript:self.close();'><img border=0 src='");
doc.document.write(nom);
doc.document.write("' alt='Cliquez pour fermer'></a></body></html>");
}

</SCRIPT>
</head>
<body bgcolor="#FFFFFF" text="#757575">
       <table width="100%" border="0" cellspacing="10" cellpadding="0">
    <? 
        $fr = '450,600';
        $it = '600,450';
        $dossier = '../photos/'; //-----------------DOSSIER-----------------------------------------
        $files = array();
        $handle = opendir($dossier);
        while(false !== ($file = readdir($handle))) {
            if($file != '.' and $file != '..' and $file[0] != 'p') {
                $files[] = $file;
            }
        }
        closedir($handle);
        sort($files);
        //---------------------------------CALCUL NB LIGNE-----------------------------------------------------------
        $nb = count ($files);
        $lg = $nb / 3;
        $entier = intval(abs($lg));
        $decimale = abs($lg)-intval(abs($lg));
        $reste = $decimale * 3;
        //---------------------------------DÉBUT TABLEAU-------------------------------------------------------------
        $n = 0;
        while ($n < ($nb-1)) {
            //-------------------------------------------------------------------------------------------------------
            echo '<tr align="center">';
            $i = 1;
            while ($i <= 3) {
                list($width, $height, $type, $attr) = getimagesize($dossier.$files[$n]);
                if ($height == '800') { $dim = $fr; } else { $dim = $it; }
                echo '<td><a href="javascript:aff(\'';
                echo $dossier.$files[$n].'\','.$dim.')"><img src="';
                echo $dossier.'p'.$files[$n].'" target="_blanck" alt="Cliquez pour agrandir la photo" border="0"></a><br>&nbsp;</td>';
                $n++;
                $i++;
            }
            echo '</tr>';
            //-------------------------------------------------------------------------------------------------------
        }
        if ($reste != 0) {
            //-------------------------------------------------------------------------------------------------------
            echo '<tr align="center">';
            $i = 1;
            while ($i <= $reste) {
                list($width, $height, $type, $attr) = getimagesize($dossier.$files[$n]);
                if ($height == '800') { $dim = $fr; } else { $dim = $it; }
                echo '<td><a href="javascript:aff(\'';
                echo $dossier.$files[$n].'\','.$dim.')"><img src="';
                echo $dossier.'p'.$files[$n].'" target="_blanck" alt="Cliquez pour agrandir la photo" border="0"></a><br>&nbsp;</td>';
                $i++;
                $n++;
            }
            echo '</tr>';
            //-------------------------------------------------------------------------------------------------------
        }        
    ?>
       </table>
   </body>
</html>

et ca ne maffiche rien du tout

Hors ligne

 

#6 07-07-2005 13:29:56

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: créer une photothèque

:'( les balises [code ]
tu dis que ca n'affiche rien du tout ??
ta page est vierge ?
tu es sur que tu charge la bonne page ?

je viens d'y repenser, j'ai codé un truc similaire en stage.
télécharger
si ca peut t'aider

Hors ligne

 

#7 07-07-2005 13:36:13

cmoijulie
Membre
Date d'inscription: 07-07-2005
Messages: 35

Re: créer une photothèque

et ca donne koi? t'as un résultat sur le web ?
merci en attendant

Hors ligne

 

#8 07-07-2005 13:37:31

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: créer une photothèque

non, je n'ai rien sur le web, c'etait pour un intranet, désolé
mais, tu devra impérativement le modifier.
le script supporte l'envoi de fichiers zippés, et les dézippe
mais il utilise la fonction exec, qui n'est pas disponible chez la plupart des hebergeurs mutualisés

Hors ligne

 

#9 07-07-2005 13:51:32

cmoijulie
Membre
Date d'inscription: 07-07-2005
Messages: 35

Re: créer une photothèque

jcomprends pas tout, tu peux m'expliquer le principe de ton fichier fonctionsListage.inc ?

Hors ligne

 

#10 07-07-2005 14:15:40

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: créer une photothèque

il s'agit de toutes les fonctions permettant de faire la liste des fichiers.
il y a un commentaire au début de chacune expliquant à quoi elle sert...

Hors ligne

 

#11 08-07-2005 05:17:35

cmoijulie
Membre
Date d'inscription: 07-07-2005
Messages: 35

Re: créer une photothèque

Bonjour

j'ai creer ce fichier pour redimenssionner toutes mes images :

Code:

<?php 
// PARTI MINIATURE 
function miniature($nom_img_max_ecard_bdd, $largeur_vignette, $hauteur_vignette){ 
     
    /* CONFIG */ 
    $chmDest="/miniature/"; //destination pour la miniature 
    $patch="/grand/"; // Chemin de l'image de depart 
   
     
     
    // resupere le nom de fichier 
    $nameFile=basename($nom_img_max_ecard_bdd); 
         
    // verifi si la miniature a deja été créé , ce qui evite de la généréer de nouveau 
    if (file_exists($chmDest.$largeur_vignette.$hauteur_vignette.$nameFile)==""){ 
        // taille de la grande image 
        $size=getimagesize($patch.$nom_img_max_ecard_bdd); 
         
        // Calcule les ratios mignature/image 
        $ratioL=(ceil(($largeur_vignette*100)/$size[0])); 
        $ratioH=(ceil(($hauteur_vignette*100)/$size[1])); 
  
        // si le ratio largueur est plus grand que le ratio hauteur 
        if ($ratioL>$ratioH){ 
            $size[2]=(ceil(($largeur_vignette*100)/$ratioL)); 
            $size[3]=(ceil(($hauteur_vignette*100)/$ratioL)); 
            $coordonneX="0"; 
            $coordonneY=(ceil(($size[1]-$size[3])/2)); 
        } 
        else{ 
            $size[2]=(ceil(($largeur_vignette*100)/$ratioH)); 
            $size[3]=(ceil(($hauteur_vignette*100)/$ratioH)); 
            $coordonneX=(ceil(($size[0]-$size[2])/2)); 
            $coordonneY="0"; 
  
        } 
        // recupere l'extention du fichier 
        $extention_fichier=strtolower(substr(strrchr($nom_img_max_ecard_bdd,'.'),1)); 
         
        if ($extention_fichier=="jpg"){ 
            // créé l'img de destination par rapport a la source 
            $srcImg = imagecreatefromjpeg($patch.$nom_img_max_ecard_bdd); 
        } 
        else{ 
            // créé l'img de destination par rapport a la source 
            $srcImg = imagecreatefromgif($patch.$nom_img_max_ecard_bdd); 
        } 
         
        $dstImg = imagecreate($largeur_vignette,$hauteur_vignette); 
        imagecopyresized($dstImg, $srcImg, 0, 0, $coordonneX, $coordonneY, $largeur_vignette, $hauteur_vignette, $size[2], $size[3]); 
        // retourne et crée le fichier image 
        if ($extention_fichier=="jpg"){ 
            imagejpeg($dstImg, $chmDest.$largeur_vignette.$hauteur_vignette.$nameFile); 
        } 
        else{ 
            imagegif($dstImg, $chmDest.$largeur_vignette.$hauteur_vignette.$nameFile); 
        } 
      
        // libere la ram 
        imagedestroy($srcImg); 
        imagedestroy($dstImg); 
       
    } 
    // si le fichier miniature exist deja, on le reutilise 
    else{ 
        $ressource=$chmDest.$largeur_vignette.$hauteur_vignette.$nameFile; 
        return $ressource; 
    } 
} 
// FIN MINIATURE 
  
  
// PARTI SCAN LES EXTENTION JPG DU REP grand POUR TOUS LES REDIMENSIONNER dans le dossier "miniature" 
// $rep liste de depart!(la ou se trouve les images d'origine )
$rep="C:\Program Files\Easy PHP\www\www.photonline.fr\grand"; 
$ext="jpg"; // l'extension sans le point 
  
//--- la fonction de lecture ---// 
function lirerep($rep,$ext){ 
$liste=array(); 
$lire=opendir($rep); 
  
while($fichier=readdir($lire)){ 
  
if($fichier!='.' && $fichier!='..') 
{ 
$liste[]=$fichier; 
} 
} 
$trouve=array_values(preg_grep('`\.'.$ext.'$`',$liste 
//,PREG_GREP_INVERT 
)); 
return $trouve; 
} 
//--- fin fonction ---// 
  
//--- l'affichage ---// 
foreach(lirerep($rep,$ext) as $key=>$val){ 
$key=$key+1; 
echo $key.' : '.miniature($val, 150, 200).' image OK!<br/>'; 
} 
  
// LA TAILLE LARGEUR=150 hauteur=200 a modifier 
?>

mais j'obtiens ca :

Warning: opendir(/grand): failed to open dir: No such file or directory in /var/www/html/www.clic-online.fr/phototheque/essai_redim.php on line 81

Warning: readdir(): supplied argument is not a valid Directory resource in /var/www/html/www.clic-online.fr/phototheque/essai_redim.php on line 83

que faire ?

Hors ligne

 

#12 08-07-2005 05:19:30

cmoijulie
Membre
Date d'inscription: 07-07-2005
Messages: 35

Re: créer une photothèque

la ligne 81 est au niveau de la fonction lecture

Hors ligne

 

#13 08-07-2005 05:24:08

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: créer une photothèque

le repertoire /grand que tu essaye d'ouvrir n'existe pas
(bien souvent, il suffit de lire le message d'erreur pour savoir de quoi elle consiste, c'est le cas le hein ...)

Hors ligne

 

#14 08-07-2005 05:32:06

cmoijulie
Membre
Date d'inscription: 07-07-2005
Messages: 35

Re: créer une photothèque

si il existe, mais c'est bon j'ai trouvé une autre méthode!
enfin du moins j'arrive a redimensionner une image maintenant, jvais voir pour un dossier complet!

Hors ligne