afficher toutes les images d un dossier en php

Ce forum aborde toutes les questions qu'un codeur ou webmaster pourrait se poser, et n'ayant aucun rapport direct avec phpBB.
Tout ce qui peut concerner la récupération des sessions de phpBB sur votre site, doit se faire dans cette section.

Modérateur : Équipe

Règles du forum
A lire impérativement : Règlement de phpBB-fr.com
Répondre
Auteur
dominos_billard
Posteur néophyte
Posteur néophyte
Messages : 55
Enregistré le : 11 août 2004 à 09:38

afficher toutes les images d un dossier en php

Message par dominos_billard »

Salut.

Pourriez vous m aider pour creer un script en php pour afficher des dessins de personnes atteintes de défiscience intellectuelles dans le cadre de la semaine qui leur est consacré.
Le script devra toutes les images d un dossier. Les images sont numerotés de yyy001 a yyyxxx. Je voudrais les afficher dans un tableau de 4 images par lignes et par colone. Les autres images du dossier seront affichés dans d autres pages sur le meme principe des 20 messages par page pour le forum phpbb.
je possede plusieurs images dans des dossiers différents, donc le script devra etre facilement adaptable pour afficher les images d autres dossiers.

Merci a vous.

J espere que j ai été assez clair :wink:
spitfire pat
MOD Contest Winner
Messages : 15293
Enregistré le : 18 sept. 2004 à 16:43
Localisation : bourgogne

Message par spitfire pat »

est-ce que le répertoire ne contiendrait que des images, où bien on est obligé de suivre une numérotation ?
et d'autre part, c'est pour un forum phpbb ?
Auteur
dominos_billard
Posteur néophyte
Posteur néophyte
Messages : 55
Enregistré le : 11 août 2004 à 09:38

Message par dominos_billard »

spotofre pat , merci de ta réponse.

Le répertoire contiendra que des images. J'ai numeroté les images pour rendre le script plus facile à réaliser, si ce n'est pas le cas on est pas obliger de suivre une numérotation, mais il faut que la page générée soit la meme à chaque fois pour povoir retrouver les images facilemnts.

Ce n'est pas pour un forum phpbb.

a+ je suis a votre disposition pour d'autres questions
spitfire pat
MOD Contest Winner
Messages : 15293
Enregistré le : 18 sept. 2004 à 16:43
Localisation : bourgogne

Message par spitfire pat »

voilà une ébauche de ce que ça pourrait être
je ne me suis pas préoccupé de fioritures, donc la mise en page et le graphisme seront à revoir
le script s'appelle show_dir.php et est à appeler ainsi:
show_dir.php?path=images

Code : Tout sélectionner

<?php
error_reporting  (E_ERROR |E_WARNING | E_PARSE);
$nb_cols = 4;
$nb_rows = 4;

$per_page = $nb_cols * $nb_rows;
$path = $_GET['path'];
$start = isset($_GET['start']) ? intval($_GET['start']) : 0;
if (empty($path))
{
	die('Pas de répertoire indiqué');
}
if (substr($path, -1) != '/')
{
	$path .= '/';
}
$img_list = array();
$i = 0;
if (!$dir = opendir($path))
{
	die("impossible d'ouvrir le répertoire $path");
}
while( $file = readdir($dir) )
{
	if( preg_match('/(\.gif$|\.png$|\.jpg|\.jpeg)$/is', $file) )
	{
		$img_list[] = $file;
	}
}
sort($img_list);
reset($img_list);
$num_items = count($img_list);
$total_pages = ceil($num_items/$per_page);
$on_page = floor($start / $per_page) + 1;
$base_url = "show_dir.php?path=$path&start=";
$prev_url = ($on_page > 1) ? '<a href="' . $base_url . ( ( $on_page - 2 ) * $per_page )  . '">Précédente</a>&nbsp;&nbsp;' : '';
$next_url = ($on_page < $total_pages) ? '<a href="' . $base_url . ( $on_page * $per_page )  . '">Suivante</a>' : '';

?>
<html>
<head>
	<title>
	<?php echo 'Images de ' . $path . ' :: Page ' . $on_page; ?>
	</title>
</head>
<body>
<table width="100%">
	<tr>
		<th><?php echo 'Images de ' . $path ; ?></th>
	</tr>
	<tr>
		<td><b>Page <?php echo $on_page; ?> sur <?php echo $total_pages; ?></b></td>
		<td align="right"><?php echo $prev_url.$next_url; ?></td>
	</tr>
	<tr>
		<td colspan="2">
			<table width="100%">
<?php
for($i=0;$i<$nb_rows;$i++)
{
	echo '<tr>';
	for($j=0;$j<$nb_cols;$j++)
	{
		$pos=$start + 4*$i +$j;
		$img_url = ($img_list[$pos]) ? '<img src="' . $path . $img_list[$pos] . '">' : '&nbsp;';
		echo '<td>' . $img_url . '</td>';
	}
	echo '</tr>';
}
?>
			</table>
		</td>
	</tr>
	<tr>
		<td><b>Page <?php echo $on_page; ?> sur <?php echo $total_pages; ?></b></td>
		<td align="right"><?php echo $prev_url.$next_url; ?></td>
	</tr>

</table>
</body>
</html>
Auteur
dominos_billard
Posteur néophyte
Posteur néophyte
Messages : 55
Enregistré le : 11 août 2004 à 09:38

Message par dominos_billard »

Merci pour cette ébauche!

J'ai essayer de tester mais ca me donne : Pas de répertoire indiqué.
J'ai placé le show_dir.php dans un repertoire contenant des images et je l'ai appelé sur le navigateur.

Pour le design, on affichera les images sur un fond blanc avec un tableau dont les bordures sont invisibles, les images doivente etre centré.

Merci encore pour ton aide et tes réponses rapides. :wink:
spitfire pat
MOD Contest Winner
Messages : 15293
Enregistré le : 18 sept. 2004 à 16:43
Localisation : bourgogne

Message par spitfire pat »

dominos_billard a écrit :
J'ai essayer de tester mais ca me donne : Pas de répertoire indiqué.
je t'ai bien dit que ça se lançait avec show_dir.php?path=nom_du_repertoire
si tu as mis le script dans le même répertoire que les images alors ça sera show_dir.php?path=/
Auteur
dominos_billard
Posteur néophyte
Posteur néophyte
Messages : 55
Enregistré le : 11 août 2004 à 09:38

Message par dominos_billard »

Merci énormement.

Ca va faire des heureux!
Répondre

Retourner vers « Coding, Webmastering et Sécurité informatique »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 0 invité