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 )) {
2021-04-05 16:29:11 +02:00
$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 );
2019-06-24 19:34:44 +02:00
}
if ( ! file_exists ( $cheminComplet . " /800/ " . $nomImage )) {
2021-04-05 16:29:11 +02:00
$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 );
2019-06-24 19:34:44 +02:00
}
}
2020-01-18 23:03:01 +01:00
?>
2019-06-24 19:34:44 +02:00
2020-01-18 23:03:01 +01:00
< main >
2019-06-24 19:34:44 +02:00
2020-01-18 23:03:01 +01:00
< section 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 {
2020-01-18 23:03:01 +01:00
$cheminComplet = " catalogue/ " . $_GET [ 'chemin' ] . " " ;
2019-06-24 19:34:44 +02:00
2020-01-18 23:03:01 +01:00
if ( ! file_exists ( $cheminComplet . " /400 " )) {
mkdir ( $cheminComplet . " /400 " );
}
2019-06-24 19:34:44 +02:00
2020-01-18 23:03:01 +01:00
if ( ! file_exists ( $cheminComplet . " /800 " )) {
mkdir ( $cheminComplet . " /800 " );
}
if ( ! file_exists ( $cheminComplet . " /comms " )) {
mkdir ( $cheminComplet . " /comms " );
}
2019-06-24 19:34:44 +02:00
2020-01-18 23:03:01 +01:00
$listeElements = new DirectoryIterator ( $cheminComplet );
2019-06-24 19:34:44 +02:00
2020-01-18 23:03:01 +01:00
$nbElementsAffiches = 0 ;
foreach ( $listeElements as $listeElements ) {
2019-06-24 19:34:44 +02:00
2020-01-18 23:03:01 +01:00
if (( ! $listeElements -> isDot ()) AND ( $listeElements -> getFilename () !== " 400 " ) AND ( $listeElements -> getFilename () !== " 800 " ) AND ( $listeElements -> getFilename () !== " comms " )) { // Ignore les éléments "." et ".." ainsi que les dossiers d'images redimensionnées
2019-06-24 19:34:44 +02:00
$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 ();
}
?> ">
2021-04-05 16:29:11 +02:00
< img loading = " lazy " src = " <?php echo $cheminComplet . " / " . $listeElements->getFilename () . " / 400 / index . jpg " ; ?> " >
2019-06-24 19:34:44 +02:00
< 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 (); ?> " >
2021-04-05 16:29:11 +02:00
< img loading = " lazy " src = " <?php
2019-06-24 19:34:44 +02:00
if ( $dimensions [ 0 ] > $dimensions [ 1 ]) {
echo $cheminComplet . " /800/ " . $listeElements -> getFilename ();
} else {
echo $cheminComplet . " /400/ " . $listeElements -> getFilename ();
}
?> " alt=""/>
</ a >
</ div >
< ? php
} else {
2021-04-05 16:29:11 +02:00
echo $adresseImage ;
2019-06-24 19:34:44 +02:00
echo " ERREUR PHP : L'élément n'est ni un fichier ni un dossier ! " ;
}
?>
< ? php
$nbElementsAffiches ++ ;
} } } ?>
2020-01-18 23:03:01 +01:00
</ section >
2019-06-24 19:34:44 +02:00
</ main >
2019-12-07 12:08:09 +01:00
< ? php require " fin.inc.php " ; ?>