1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147
|
<?php
// Visionneuse sur 2 colonnes, avec zoom et supression du fichier
/**************** A PARAMETRER ******************/
//nom du répertoire contenant les images à afficher
$nom_repertoire = '../upload';
$subfolders = 0; // 1 ou 0 : Liste les images des sous rep
/*************************************************/
/*************************************************/
/* Fonction de listage des fichiers */
// $nom_repertoire: répertoire contenant les images
// $tab_images: tableau contenant les liens relatifs des images
// $i: indice de départ
// $sunfolders: Si 1, listage des sous-répertoires
function lister($nom_repertoire, &$tab_image, &$i, $subfolders)
{
// si $nom_repertoire ne se termine pas par /
if(substr($nom_repertoire, -1) != '/')
$nom_repertoire .= '/';
// ouverture du dossier
$pointeur = @opendir($nom_repertoire);
if(!$pointeur)
return;
// parcourt les fichiers
while ($fichier = readdir($pointeur))
{
if($fichier == '.' || $fichier == '..')
continue;
// s'il s'agit d'un dossier
if(is_dir($nom_repertoire . $fichier))
{
// si on doit liste les sous-répertoires
if($subfolders)
// appel de la fonction (récursivité)
lister($nom_repertoire . $fichier . '/', $tab_image, $i, $subfolders);
}
else
{
// récupération de l'extension
$ext = strtolower(substr($fichier, -4));
if ($ext == '.gif' || $ext == '.jpg' || $ext == '.png' || $ext == 'jpeg')
// ajout du fichier dans le tableau
$tab_image[$i++] = $nom_repertoire . $fichier;
}
}
//on ferme le répertoire
@closedir($pointeur);
}
/* Récupération des variables */
$delete = isset($_GET['delete']) ? $_GET['delete'] : '';
$path = isset($_GET['path']) ? $_GET['path'] : '';
if(!is_dir($nom_repertoire))
{
echo 'Le répertoire n\'existe pas';
exit;
}
// Utilisation de font et non de style pour reperer
// trés facilement le texte dans ce source
$f = "<font face='verdana' size='2' color='#111111'>";
$ff = '</font>';
// suppression d'images
if (!empty($delete))
{
if (file_exists($path))
{
if(unlink($path))
echo "Le fichier $path a été supprimé avec succès";
else
echo "Erreur lors de la suppression du fichier $path";
}
else
echo "Le fichier $path n'existe pas";
echo '<br><br>';
}
//affichage de l'entête du tableau
echo "
<table border='1' align='center' width='500'>
<td align='center'>$f Image $ff</td>
<td>$f Supprimer $ff</td>
<td align='center'>$f Nom de l'image $ff</td>";
//ouvre le repertoire
$pointeur = @opendir($nom_repertoire);
if(!$pointeur)
{
echo 'Erreur lors de l\'ouverture du répartoire';
exit;
}
$i = 0;
$tab_image = array();
lister($nom_repertoire, $tab_image, $i, $subfolders);
// on trie le tableau par ordre alphabétique
array_multisort($tab_image, SORT_ASC);
// affichage des images (en 60 * 60 ici)
// affichage des photos sur 2 colonnes
for ($j = 0; $j < $i; $j++)
{
if($j % 1 == 0)
echo "\r\n\r\n\t<tr align=\"center\">";
// image1
$path = $tab_image[$j]; // chemin de l'image1
$image = '<img src="' . $path . '" width="90" height="90" border="0">';
$nom = $tab_image[$j]; // nom de l'image1
$infos_image = @getImageSize($path);
//dimension fenetre zoom image1
$typ1 = $infos_image[0] + 40;
$typ2 = $infos_image[1] + 40;
// affichage de l'image
echo "\r\n\r\n\t\t<td><a href=\"#\" onClick=\"window.open('$path', 'new', 'width=$typ1, height=$typ2, toolbar=no, location=no,directories=no, status=no, menubar=no,scrollbars=yes, copyhistory=no, resizable=yes')\">$image</a></td>";
// affiche le lien supprimer
echo "\r\n\r\n\t\t<td><a href=\"$_SERVER[PHP_SELF]?delete=1&path=$path&nom=$nom\"
onClick=\"if (confirm('Etes-vous sûr de vouloir supprimer cette image ?') == true) return true; else return false; \">$f Supprimer $ff</a></td>";
// Affiche le nom de l'image & taille
echo "\r\n\r\n\t\t<td align='center' bgcolor='#cccccc'>$f $tab_image[$j]<br /> $infos_image[0]*$infos_image[1] $ff</td>";
if($j % 2 != 0)
echo "\r\n\t</tr>";
}
echo "\r\n</table>";
?> |
Partager