Rechercher : dans
Par :

PHP compter des fichiers nom+nombre.jpg

Dernière réponse le 14 mai 2009 à 15:35:45 oueb, le 13 aoû 2008 à 17:09:13 
 Signaler ce message aux modérateurs

Bonjour,
J'ai besoin d'un coup de main pour compter des fichiers dans une galerie dynamique en flash(pour l'instant par fichier texte overwrite+ajout sur serveur des images).

Il y a plusieurs rubriques :par exemple illustrations les fichiers se nomment img0.jpg , img1.jpg ..et photos nommés photo0.jpg , photo1.jpg etc...

Mon but est de faire une version light en html/php donc:
je compte les fichiers img['un nombre'].jpg et pareil pour les autres rubriques.
Puis j'affiche les images en lien texte. Ayant pas un bon niveau en php j'ai fait ceci mais je doutes que ça marche:

<?php
// je compte mes fichiers qui se nomment img['un nombre'].jpg

// j'ai de sérieux doute sur la concaténisation img(n).jpg
$illustrations = glob("img[*].jpg"); 
$nb_illustrations = count($illustrations);
// je suit pas assez à l'aise en php pour placer un array pourtant ça serait pratique

while($illustrations <= $nb_illustrations){
	echo'?>
	// je passe en html
	<a href="
	<?PHP ICI LE LIEN HTML ?>
	">
	<?php NOM DE L'IMAGE JPG ?>
	</a>

	<?PHP '; ?>// on ferme echo
	</a> // balise fermante du lien html
	<br/>
 
	}

?>


Merci si vous pouvez m'aider sur ce code
Configuration: Windows XP
Firefox 2.0.0.16

Meilleures réponses pour « PHP compter des fichiers nom+nombre.jpg » dans :
[PHP] Upload de fichiers VoirLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...
[Webmaster] Afficher facilement le code php/xhtml de vos pages VoirSi vous voulez proposer a vos visiteurs de voir la source de vos fichiers (PHP ou HTML), il y a plusieurs solutions. En php Afficher le code php Afficher le code html En html Informations Voir aussi En php Afficher le code php La...
MacOS X - Associer un nom à une adresse ip VoirComment associer un nom à une adresse IP sous MacOSX Problèmatique [EDIT] : ceci n'est valable que jusqu'à MacOSX 10.4, PAS pour MacOSX 10.5 (Leopard) MacOSX étant un système BSD, la première chose à laquelle on pense, c'est: "Facile, je vais...
PHP - Les fichiers VoirLa gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...
PHP - Les variables d'environnement VoirNotion de variable d'environnement Les variables d'environnement sont, comme leur nom l'indique, des données stockées dans des variables permettant au programme d'avoir des informations sur son environnement. L'environnement, dans le cas du script...
Le format BMP VoirLe format BMP Le format BMP est un des formats les plus simples développé conjointement par Microsoft et IBM, ce qui explique qu'il soit particulièrement répandu sur les plates formes Windows et OS/2. Un fichier BMP est un fichier bitmap, c'est-à...

1

absurdsystem, le 13 aoû 2008 à 17:53:22

Slt,

Bon j'ai fai un peu le meme genre que ton probleme il y a quelques jours je v essayer de t'expliquer ça .
Par contre petit detail je sais pas comment tu organise tes rubriques mais on va admettre qu'il y a un dossier par rubrique


alors deja une petit fonction php qui compte le nombre de fichiers contenu dans un dossier


function count_files($folder)
{
// on rajoute le / à la fin du nom du dossier s'il ne l'est pas
if(substr($folder, -1) != '/')
$folder .= '/';

// ouverture du répertoire
$rep = @opendir($folder);
if(!$rep)
return '-1';

// -1 pour les erreurs

$nb_files = 0;
// tant qu'il y a des fichiers
while($file = readdir($rep))
{
// répertoires . et ..
if($file == '.' || $file == '..')
continue;

$nb_files++;
}

// fermeture du rep
closedir($rep);
return $nb_files;
}



et maintenant l'affichage des liens

$dir='nomdudossier';

//appel a la fonction count_files, retourne le nombre de fichier d'un dossier
$nb=count_files($dir);

if($nb == -1 )
{
echo 'Erreur" />';
}else{


$tab=array();

$i=0;

while($i < $nb)
{


//si il n'est pas enregistré, on le met dans le tableau de données et on incremente

if(!in_array($lien,$tab)){
array_push($tab,$lien);

//affichage
print '<p><a href="monlien">';
print '<img src="img'.$tab[$i].'.jpg" alt="" />';
print '</a></p>';
$i++;

//sinon on continue
}else{
continue;
}
}//fin while
}//fin else



voila voila

Répondre à absurdsystem

2

oueb, le 13 aoû 2008 à 18:09:50

Merci beaucoup mais hélas non,
il y a un seul dossier qui contient tout dont des images qui ne sont pas de la galerie dynamique(des images de fond etc...). Donc il me faut vraiment pouvoir compter le nombre de fichiers s'intitulant img(n).jpg. puis je ferait un autre array pour photo(n).jpg etc(il n'y a que 3 rubrique donc pas trop lourd a copier/coller)

Répondre à oueb

3

 Phoenix2001, le 14 mai 2009 à 15:35:45

Une petite fonction fait maison.

function CountImgPath($path) 
	{
	/*
	compte les images JPG PNG GIF dans les dossiers
	structure:
	Dossier_maitre:
			|_dossier1:
				|_image1.jpg
				|_image2.gif
				|_image3.png
			|_dossier2:
				|_image1.jpg
				|_image2.gif
				|_image3.png
			|_dossier3:
				|_image1.jpg
				|_image2.gif
				|_image3.png
			|_dossier4:
				|_image1.jpg
				|_image2.gif
				|_image3.png
		TOTAL: 12
		Peut servir également pour afficher les dossier ou les images.
	*/
	$count=0;
	$compteur = count(glob($path."/{*.gif,*.jpg,*.png}", GLOB_BRACE));
	$count = $compteur + $count;
	//echo $path.' - '.$compteur.'<br/>'; //affiche le dossier
	//compte les images dans les dossier recursif
    if ($path[strlen($path)-1] != "/")$path .= "/";
    if (is_dir($path)) 
		{
        $d = opendir($path);
		$iCpt1 = substr_count ($path,'/thumbs' ); //sauf dans ce dossier.
		if($iCpt1==0)
			{						
			while ($f = readdir($d))
				{
				if ($f != "." && $f != "..") 
					{
					$rf = $path . $f; // chemin relatif au fichier php
					$iCpt2 = substr_count ($rf,'/thumbs' );
					if (is_dir($rf)and($iCpt2==0))
						{
						$compteur = count(glob($rf."/{*.gif,*.jpg,*.png}", GLOB_BRACE));
						$count = $compteur + $count;
						//echo $rf.' - '.$compteur.'<br/>'; //affiche le dossier
						}
					}
				}
			}
		closedir($d);
		}
	return $count;
	}


appel:
$path = $_SERVER['DOCUMENT_ROOT']."/userfiles/idmember/album/";
if(is_dir($path))
	{
	echo CountImgPath($path);
	}

Répondre à Phoenix2001
Collection CommentÇaMarche.net