2019-12-07 12:08:09 +01:00
< ? php require " debut.inc.php " ; ?>
2019-06-24 19:34:44 +02:00
2019-12-07 12:08:09 +01:00
< ? php
2019-06-24 19:34:44 +02:00
function creerMiniature ( $cheminComplet , $adresseImage , $nomImage ) {
if ( ! file_exists ( $cheminComplet . " /400/ " . $nomImage )) {
$image = imagecreatefromjpeg ( $adresseImage );
$dimensions = getimagesize ( $adresseImage );
$nouvHauteur = (( 400 * $dimensions [ 1 ]) / $dimensions [ 0 ]);
$imageSrt = imagecreatetruecolor ( 400 , $nouvHauteur );
imagecopyresampled ( $imageSrt , $image , 0 , 0 , 0 , 0 , 400 , $nouvHauteur , $dimensions [ 0 ], $dimensions [ 1 ]);
imagejpeg ( $imageSrt , $cheminComplet . " /400/ " . $nomImage );
imagedestroy ( $imageSrt );
imagedestroy ( $image );
}
if ( ! file_exists ( $cheminComplet . " /800/ " . $nomImage )) {
$image = imagecreatefromjpeg ( $adresseImage );
$dimensions = getimagesize ( $adresseImage );
$nouvHauteur = (( 800 * $dimensions [ 1 ]) / $dimensions [ 0 ]);
$imageSrt = imagecreatetruecolor ( 800 , $nouvHauteur );
imagecopyresampled ( $imageSrt , $image , 0 , 0 , 0 , 0 , 800 , $nouvHauteur , $dimensions [ 0 ], $dimensions [ 1 ]);
imagejpeg ( $imageSrt , $cheminComplet . " /800/ " . $nomImage );
imagedestroy ( $imageSrt );
imagedestroy ( $image );
}
}
if ( ! function_exists ( 'array_key_last' )) {
function array_key_last ( $array ) {
$key = NULL ;
if ( is_array ( $array )) {
end ( $array );
$key = key ( $array );
}
return $key ;
}
} ?>
2019-12-07 12:08:09 +01:00
< main class = " gallerie " >
2019-06-24 19:34:44 +02:00
< ? php if ( preg_match ( " # \ . \ .# " , $_GET [ 'chemin' ])) {
exit ( " Par sécurité, .. ne peut être utilisé dans un chemin " );
} else {
$cheminComplet = " catalogue/ " . $_GET [ 'chemin' ] . " " ;
if ( ! file_exists ( $cheminComplet . " /400 " )) {
mkdir ( $cheminComplet . " /400 " );
}
if ( ! file_exists ( $cheminComplet . " /800 " )) {
mkdir ( $cheminComplet . " /800 " );
}
$listeElements = new DirectoryIterator ( $cheminComplet );
$nbElementsAffiches = 0 ;
foreach ( $listeElements as $listeElements ) {
if (( ! $listeElements -> isDot ()) AND ( $listeElements -> getFilename () !== " 400 " ) AND ( $listeElements -> getFilename () !== " 800 " )) { // Ignore les éléments "." et ".." ainsi que les dossiers d'images redimensionnées
$adresseImage = $cheminComplet . " / " . $listeElements -> getFilename ();
if ( is_dir ( $adresseImage )) { ?>
< div class = " element dossier " >
< a href = " index.php?chemin=<?php if (!empty( $_GET['chemin'] )) {
echo $_GET [ 'chemin' ] . " / " . $listeElements -> getFilename ();
} else {
echo $listeElements -> getFilename ();
}
?> ">
< img src = " <?php echo $cheminComplet . " / " . $listeElements->getFilename () . " / 400 / index . jpg " ; ?> " >
< div class = " nomElementDossier " >< ? php echo $listeElements -> getFilename (); ?> </div>
</ a >
</ div >
< ? php
} else if ( is_file ( $adresseImage )) {
creerMiniature ( $cheminComplet , $adresseImage , $listeElements -> getFilename ())
?>
< div class = " element image<?php
$dimensions = getimagesize ( $adresseImage );
if ( $dimensions [ 0 ] > $dimensions [ 1 ]) {
echo " paysage " ;
} else {
echo " portrait " ;
}
?> ">
< a href = " <?php echo $cheminComplet . " / " . $listeElements->getFilename (); ?> " data - title = " Image créée par Cécile Chevallier et diffusée sous CC BY-SA 4.0. " data - lightbox = " <?php echo $listeElements->getFilename (); ?> " >
< img src = " <?php
if ( $dimensions [ 0 ] > $dimensions [ 1 ]) {
echo $cheminComplet . " /800/ " . $listeElements -> getFilename ();
} else {
echo $cheminComplet . " /400/ " . $listeElements -> getFilename ();
}
?> " alt=""/>
</ a >
</ div >
< ? php
} else {
echo $cheminComplet . $listeElements -> getFilename ();
echo " ERREUR PHP : L'élément n'est ni un fichier ni un dossier ! " ;
}
?>
< ? php
$nbElementsAffiches ++ ;
} } } ?>
</ main >
2019-12-07 12:08:09 +01:00
< ? php require " fin.inc.php " ; ?>