8791 sujets

Développement web côté serveur, CMS

Salut à tous!

Je suis en train de créer une galerie photos à partir de ce dossier:
http://www.quatorziemeto.be/img/activites/24H/24h2009/pt

Mon problème est que j'aimerais faire défiler ces photos dans un slider 8 par 8...

donc j'ai essayé d'utiliser un fopen pour récupérer les photos et ensuite un modulo pour les lister 8 par 8 mais cela ne fonctionne pas!

Voici le résultat que j'aimerais obtenir:

<ul>
    <li><a><img /></a></li>
    <li><a><img /></a></li>
    <li><a><img /></a></li>
    <li><a><img /></a></li>
    <li><a><img /></a></li>
    <li><a><img /></a></li>
    <li><a><img /></a></li>
    <li><a><img /></a></li>
</ul>
<ul>
    <li><a><img /></a></li>
    <li><a><img /></a></li>
    <li><a><img /></a></li>
    <li><a><img /></a></li>
    <li><a><img /></a></li>
    <li><a><img /></a></li>
    <li><a><img /></a></li>
    <li><a><img /></a></li>
</ul>

ect...

Merci d'avance pour votre aide!

Voici le code:

<?php
	$matches = array();
	$count_els = count($matches);
	$index = fopen("http://www.quatorziemeto.be/img/activites/24H/24h2009/pt", "r");
		while ($line = fgets($index)) {
			
			if (preg_match('/.*<a href="([\w]+.jpg)">.*/', $line, $matches)) {
				
				echo "<ul>";
				
					for ($i=0; $i<$count_els; $i++){

  						echo "<li>{$matches[$i]}-$i</li>";
 
  							if ($i !== 0 && $i % 8 == 0)
    			
								echo "</ul><ul>";
				
					}

			echo "</ul>";
				
			}
		}
?>
Salut,

A part des ul, je ne croit pas que quelque chose sera retourner, $count_els vaut toujours 0.
Essaye ça pour voir :

<?php
function extract_url($line){
	//href=url
	$begin = strrpos($line, 'f=') + 3;
	return substr($begin, strpos($line, '"', $begin) - $begin);
}

$index = fopen('http://www.quatorziemeto.be/img/activites/24H/24h2009/pt', 'r'); 
while ($line = fgets($index)) {
	//vérfie si la ligne commence par <i (les ligne où il y a des images [<img=...])
	if ('<' === $line[0] && 'i' === $line[1]) {
		$rest = 7;
		echo '<ul>';
		do {
			echo '<li>'.extract_url($line).'</li>';
		} while ($rest-- && ($line = fgets($index)) && '<' === $line[0] && 'i' === $line[1]);
		echo '<ul>';
	}
} 
Salut,

perso je serais parti sur quelque chose de ce genre :
// Paramètres
$tableau_imgs = array();
$extensions_imgs = array('jpg', 'jpeg', 'png', 'gif');
$url = 'http://www.quatorziemeto.be/img/activites/24H/24h2009/pt/';
$imgs_par_liste = 8;

// Extraction
$chaine = file_get_contents($url);
preg_match_all('#<a href="(.+?)">#i', $chaine, $matches);
foreach($matches[1] as $match) {
	$pathinfo = pathinfo(strtolower($match));
	if(in_array($pathinfo['extension'], $extensions_imgs)) {
		$tableau_imgs[] = $url . $match;
	}
}

// Listing
if(count($tableau_imgs) > 0) {
	$compteur_par_liste = 0;
	foreach($tableau_imgs as $img) {
		echo ($compteur_par_liste == 0 ? "<ul>\n" : '') . "\t" . '<li><a href="' . $img . '">' . basename($img) . "</a></li>\n";
		$compteur_par_liste++;
		if($compteur_par_liste == $imgs_par_liste) {
			echo "</ul>\n";
			$compteur_par_liste = 0;
		}
	}
	echo ($compteur_par_liste > 0 ? "</ul>\n" : '');
}