PHP compter des fichiers nom+nombre.jpg
oueb
-
Phoenix2001 -
Phoenix2001 -
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:
Merci si vous pouvez m'aider sur ce code
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
A voir également:
- PHP compter des fichiers nom+nombre.jpg
- Renommer des fichiers en masse - Guide
- Fichiers epub - Guide
- Wetransfer gratuit fichiers lourd - Guide
- Explorateur de fichiers - Guide
- Nom sonnerie iphone - Forum iPhone
2 réponses
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)
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)
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
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
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); }