Forum de discussion et d'aide au php
Vous n'êtes pas identifié.
|
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. |
||
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
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
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
pour l'instant j'ai ca :
<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> </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> </td>';
$i++;
$n++;
}
echo '</tr>';
//-------------------------------------------------------------------------------------------------------
}
?>
</table>
</body>
</html>et ca ne maffiche rien du tout
Hors ligne
:'( 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
et ca donne koi? t'as un résultat sur le web ?
merci en attendant
Hors ligne
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
jcomprends pas tout, tu peux m'expliquer le principe de ton fichier fonctionsListage.inc ?
Hors ligne
Bonjour
j'ai creer ce fichier pour redimenssionner toutes mes images :
<?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
la ligne 81 est au niveau de la fonction lecture
Hors ligne
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