khol
Messages postés10Date d'inscriptionmercredi 23 mai 2007StatutMembreDernière intervention16 septembre 2007
-
24 mai 2007 à 12:19
khol
Messages postés10Date d'inscriptionmercredi 23 mai 2007StatutMembreDernière intervention16 septembre 2007
-
24 mai 2007 à 18:16
Bonjour,
J'ai un niveau trés faible en PhP. J'essaye d'adapter ce script pour créer des galeries sur mon site.
La seule différence est que je crée ces galleries à un différent niveau d'arborescence qu'il ne fut prévu à la base. J'ai déjà rencontré des erreurs que j'ai débuggé mais la je bloque.
Voici mes erreurs PHP:
-Warning: opendir(c:\internet\easyphp1-8\www\site perso\galerie\Famille\galerie\Famille\Photos\): failed to open dir: Invalid argument in c:\internet\easyphp1-8\www\site perso\galerie\Famille\index.php on line 110 -Warning: readdir(): supplied argument is not a valid Directory resource in c:\internet\easyphp1-8\www\site perso\galerie\Famille\index.php on line 111 -Warning: closedir(): supplied argument is not a valid Directory resource in c:\internet\easyphp1-8\www\site perso\galerie\Famille\index.php on line 121
Et enfin voici les modification que j'ai effectués sur preference.php, elles vous montreront le niveau d'arborescence que je souhaite créer.:
//---Fichiers---
$Rep_Photos = 'galerie/Famille/Photos'; // Là où sont stockés vos photos
$nom_script = 'galerie/Famille/index.php'; // Nom du Script PHP.(index.php)
$page_admin = 'galerie/Famille/admin.php';
$fichier_style = 'galerie/Famille/style.css'; // Nom du fichier CSS (Design) du Script.
$fichier_parametres_gallerie = 'galerie/Famille/Photos/_infos_gallerie.php'; // Fichier contentant les Informations sur chaque Gallerie (présent dans les Répertoires correspondant aux Galleries).
______________
Fonctions
¯¯¯¯¯¯¯¯¯¯¯¯¯¯
- Installation simplissime, pas de sql
- Génération automatique des vignettes
- Redimensionne les photos trop grande
- Ajout de commentaires sur les photos
- Affichage des infos EXIF et IPTC
- Navigation par page
- Noms image incorrect modifié à la volée (éè&%20...)
- Description des galeries
- Protection galerie par mot de passe
_______
ToDo
¯¯¯¯¯¯¯¯
- Password -> navigation entre les photos non sécurisé
- Focale équivalente en 35mm
- vitesse converti en 1/30s,....
/*
----- [ NE PLUS RIEN TOUCHER A PARTIR DE CET ENDROIT !!! - DISFONCTIONNEMENT POSSIBLE ] --------
*/
//------[charge les préférences et les fonctions]-------
include ('fonctions.php');
include ('preferences.php');
//______________________________________________________________________________________________________
//
// DECLARATION DES VARIABLES
//______________________________________________________________________________________________________
error_reporting(E_ALL);
//on définit le chemin du script pour tous les includes,fopen et companie
define("DIR_MAIN", dirname(__FILE__).DIRECTORY_SEPARATOR);
// on vérifie que le dernier caractère du chemin est un séparateur
if(substr($Rep_Photos,-1) != DIRECTORY_SEPARATOR) $Rep_Photos .= DIRECTORY_SEPARATOR;
$Rep_Photos = cleanPath(str_replace(array('/','\\'),DIRECTORY_SEPARATOR,$Rep_Photos));
// on définit le path des galeries en fonction de l'entrée utilisateur
if(is_dir($Rep_Photos)) define("GAL_MAIN",$Rep_Photos);
else if(is_dir(DIR_MAIN.$Rep_Photos)) define("GAL_MAIN",DIR_MAIN.$Rep_Photos);
else define("GAL_MAIN",DIR_MAIN.'Photos'.DIRECTORY_SEPARATOR);
$var = array('pass','action_comm','action');
foreach($var as $v) {if (!isset(${$v})) ${$v}=''; }
if (!isset($_GET['rep'])) $_GET['rep']='';
define('CUR_GAL',$_GET['rep']);
define('CUR_PATH',DIR_MAIN.GAL_MAIN.CUR_GAL.DIRECTORY_SEPARATOR);
if (!empty($_GET['page'])) $page=$_GET['page']; else $page=1;
if (empty($_GET['action'])) $_GET['action']='';
echo '
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>'.$titre_site;
if (CUR_GAL<>'') { echo ' | '.CUR_GAL; }
if (!empty($_GET['photo'])) { echo ' | '.$_GET['photo']; }
echo '</title>
<link rel="stylesheet" href="./'.$fichier_style.'" type="text/css" />
</head>
';
if (is_dir(CUR_PATH))
{
if (is_file(CUR_PATH.$fichier_parametres_gallerie))
{
include(CUR_PATH.$fichier_parametres_gallerie);
}
else
{
if($fp = fopen(CUR_PATH.$fichier_parametres_gallerie,'w'))
{
fwrite($fp, '<?php'."\n".'$Description = "Ecrivez ici la Description de votre Galerie."; // Description de votre Galerie.'."\n".'$Password = ""; // UNIQUEMENT POUR PROTEGER UNE GALERIE PAR UN MOT DE PASSE !!!'."\n".'?>');
fclose($fp);
} $Description $Password '';
}
if($Password)
{
if(!isset($_GET['pass']))
{
echo "<script>var passa=prompt('Quel est le Mot de Passe de la Galerie ".CUR_GAL." ?','Mot de Passe');";
echo 'window.location = "'.$nom_script.'?action=voir_gallerie&rep='.CUR_GAL.'&page='.$page.'&pass="+passa;</script>'."\n";
}
if ($_GET['pass'] !== $Password)
{
echo "<script>window.location = '".$nom_script."';</script>\n";
exit();
}
}
if (!is_dir(CUR_PATH.'miniatures')) mkdir(CUR_PATH.'miniatures');
if (!is_file(CUR_PATH.'index.php'))
{
if($fp = fopen(CUR_PATH.'index.php','w'))
{
fwrite($fp, '<?php'."\n".'header("Location: ../index.php");'."\n".'?>');
fclose($fp);
}
}
if (!is_file(CUR_PATH.'miniatures/index.php'))
{
if($fp = fopen(CUR_PATH.'miniatures/index.php','w'))
{
fwrite($fp, '<?php'."\n".'header("Location: ../../index.php");'."\n".'?>');
fclose($fp);
}
}
if ($Description && $Description != 'Ecrivez ici la Description de votre Galerie.') echo $Description;
//Re-écris le nom de l'image de façon correcte
$f_temp = strtr((strtr((rawurldecode(preg_replace('#&([a-z])(?:acute|grave|uml|circ|ring|slash|zlig|cedil|tilde);#i', '$1', htmlentities($f)))), array_flip(get_html_translation_table(HTML_ENTITIES)))), array_flip(get_html_translation_table(HTML_ENTITIES)));
$f_temp = str_replace('.'.array_pop(explode('.', $image[$i])), strtolower('.'.array_pop(explode('.', $f_temp))), $f_temp); //Mets les extensions en minuscules
//Vérifie la validité du nom reel, et modifie si nécessaire
if ($f_temp<>$f) {rename(CUR_PATH.$f,CUR_PATH.$f_temp); $f=$f_temp;}
//Doit-on créer la vignette ?
if (!is_file(CUR_PATH.'miniatures/'.$mini_f)) { creer_miniature($f, CUR_PATH, CUR_PATH.'miniatures'.DIRECTORY_SEPARATOR, 85); }
//Charge coms si existe
if (is_file(CUR_PATH.$f_reel.'.php')){include(CUR_PATH.$f_reel.'.php');$coms="\n".$nombre.' Commentaire'.pluriel($nombre);} else $coms='';
echo '
';
}
//Sauvegarde le nb de photos si changement
if (!isset($nbp) || $nbp!=$nb_photos)
{
if($fp = fopen(CUR_PATH.$fichier_parametres_gallerie,'w'))
{
fwrite($fp, '<?php'."\n".'$Description = "'.$Description.'"; // Description de votre Galerie.'."\n".'$Password = "'.$Password.'"; // UNIQUEMENT POUR PROTEGER UNE GALERIE PAR UN MOT DE PASSE !!!'."\n".'$nbp = "'.$nb_photos.'"; // Nombre de Photos.'."\n".'?>');
fclose($fp);
}
}
echo '
'.$nb_photos.' Photo'.pluriel($nb_photos).' dans la Galerie '.CUR_GAL.'.
//-------------[ Détails techniques de l'image ]--------------
echo '
'.$_GET['photo'].'
'."\n".'
<gras>Date d\'ajout : '.date_fr(substr(date('Y:m:d H:i:s',filemtime(CUR_PATH.$_GET['photo'])),0,10)).'
'."\n".'
Taille : '.$taille[0].' x '.$taille[1].' pixels
'."\n".'
Poids : '.$poids.' Ko
'."\n";
$IPTC $EXIF '';
//-----EXIF Infos-----
$exif = @exif_read_data(CUR_PATH.$_GET['photo'], 0, true); //pour les jpeg et tiff seuleument
if (($exif != false) && (isset($exif['IFD0'])))
{
if (isset($exif['EXIF']['DateTimeDigitized']))$EXIF = ' Date de la prise de vue : '.date_fr(substr($exif['EXIF']['DateTimeDigitized'],0,10)).'
'."\n";
if (isset($exif['IFD0']['Make'])) $EXIF . = 'Marque de l\'appareil : '.$exif['IFD0']['Make'].'
'."\n";
if (isset($exif['IFD0']['Model'])) $EXIF .= ' Modèle de l\'appareil : '.$exif['IFD0']['Model'].'
'."\n";
if (isset($exif['IFD0']['CameraModel'])) $EXIF . = 'Modèle de l\'appareil-photo : '.$exif['IFD0']['Model'].'
'."\n";
if (isset($exif['COMPUTED']['ApertureFNumber']))$EXIF .= ' Ouverture : '.$exif['COMPUTED']['ApertureFNumber'].'
'."\n";
if (isset($exif['EXIF']['ExposureTime']))$EXIF . = 'Vitesse : '.evalue($exif['EXIF']['ExposureTime']).' sec
'."\n";
if (isset($exif['EXIF']['FocalLength']))$EXIF .= ' Focale : '.evalue($exif['EXIF']['FocalLength']).' mm
'."\n";
if (isset($exif['EXIF']['ISOSpeedRatings']))$EXIF . = 'Sensibilité : '.$exif['EXIF']['ISOSpeedRatings'].' iso
'."\n";
//Affiche seuleument si on a trouvé des infos
if ($EXIF) echo '
EXIF '.$EXIF;
// Affiche toutes les infos exif contenues dans la photo (pour tester): if (!true) foreach ($exif as $key > $section) foreach ($section as $name> $val) echo $key.'.'.$name.': '.$val.'
'."\n";
}
//------IPTC DATA------
//$size = getimagesize(CUR_PATH.$_GET['photo'], $info);
if (isset($info['APP13'])) {
$iptc = iptcparse($info['APP13']);
if (isset($iptc['2#080'][0])) $IPTC = ' Auteur : '.$iptc['2#080'][0].'
'."\n";
if (isset($iptc['2#116'][0])) $IPTC . = 'Copyright : '.$iptc['2#116'][0].'
'."\n";
if (isset($iptc['2#105'][0])) $IPTC .= ' Titre : '.$iptc['2#105'][0].'
'."\n";
if (isset($iptc['2#005'][0])) $IPTC . = 'Nom de l\'objet : '.$iptc['2#005'][0].'
'."\n";
if (isset($iptc['2#101'][0])) $IPTC .= ' Pays : '.$iptc['2#101'][0].'
'."\n";
if (isset($iptc['2#095'][0])) $IPTC . = 'Département : '.$iptc['2#095'][0].'
'."\n";
if (isset($iptc['2#090'][0])) $IPTC .= ' Ville : '.$iptc['2#090'][0].'
'."\n";
if (isset($iptc['2#120'][0])) $IPTC . = 'Commentaire : '.str_replace('\r','
',$iptc['2#120'][0]).'
'."\n";
//Mots-clés?
if (isset($iptc['2#025']))
{
$nbtag = count($iptc['2#025']);
if ($nbtag<>0 && !empty($iptc['2#025'][0])){
$IPTC .= ' Mots-Clés : ';
for ($i =0; $i<$nbtag; $i++) {$IPTC .= $iptc['2#025'][$i].(($i<($nbtag-1)) ? ' , ' : '');}
$IPTC .= '
'."\n";
}
}
//Affiche seuleument si on a trouvé des infos
if ($IPTC) echo '
IPTC
'.$IPTC;
}
//----------------
echo '
';
if ($nombre<>0) echo 'Commentaire'.pluriel($nombre).' ('.$nombre.')
';
//-------------[ Affichage des commentaires ]--------------
if (is_file(CUR_PATH.$_GET['photo'].'.php'))
{
include(CUR_PATH.$_GET['photo'].'.php');
khol
Messages postés10Date d'inscriptionmercredi 23 mai 2007StatutMembreDernière intervention16 septembre 2007 24 mai 2007 à 18:16
Snif toujours aucune aide...
Personne, à l'instinct, peut me dire pourquoi j'affiche ce chemin d'erreur ou mon arbo est répété 2x ?
Warning: opendir(c:\internet\easyphp1-8\www\site perso\galerie\Famille\c:\internet\easyphp1-8\www\site perso\galerie\Famille\Photos\): failed to open dir: Invalid argument in c:\internet\easyphp1-8\www\site perso\galerie\Famille\index.php on line 110