> Tous les forums > Forum des Webmasters
 variable et array
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
padymen
  Posté le 17/11/2014 @ 10:58 
Aller en bas de la page 
Astucien

Bonjour,

je rencontre un petit souci en essayant de mettre le contenu d'une variable dans un array,

si je fais : $mesExtensions = ('jpg'); cela fonctionne très bien mais si j'essaie de faire : $mesExtensions = array ('jpg', 'jpeg', JPG', 'JPEG'); cela ne fonctionne plus

je joins le code complet ci dessous, si vous avez une idée de l'erreur ...

function listageArt ()
{

$mesExtensions = array('jpg','jpeg','JPG','JPEG');
$chemin = "../art/";
$cpt=0;

if (is_dir($chemin))
{
if ($ouvreDossier = opendir($chemin))
{
while (($fichier = readdir($ouvreDossier)) !== false)
{

$getExt = explode(".", $fichier);
$countExt = count($getExt);
$fExt = $countExt - 1;
$myExt = $getExt[$fExt];

if (($myExt == $mesExtensions) && ($fichier != ".") && ($fichier != ".."))
{
$cpt++;
}
}
}
return $cpt;
closedir($ouvreDossier);
}
}
$nombreArt = listageArt();
if( $nombreArt == 0) $resultatArt = (' Aucune image à ajouter.');
if( $nombreArt > 0) $resultatArt = ($nombreArt.' image à ajouter.');
if( $nombreArt > 1) $resultatArt = ($nombreArt.' images à ajouter.');



Modifié par padymen le 17/11/2014 10:59
Publicité
padymen
 Posté le 17/11/2014 à 12:57 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

je viens de lire ton message et je ne vois pas comment implémenter cette boucle foreach mais merci de la piste je cherche, j'essayais avec un if (in_array) mais ça ne semble pas fonctionner

function listageArt ()
{

$chemin = "art/";
$mesExtensions = array('jpg','jpeg','JPG','JPEG');
$cpt=0;
$chaine="";

if (is_dir($chemin))
{
if ($ouvreDossier = opendir($chemin))
{
while (($fichier = readdir($ouvreDossier)) !== false)
{
$extensionsTrouves[] = $fichier;
if ($fichier != "." && $fichier != "..") $chaine = $chaine.' - '.$fichier;
$getExt = explode(".", $fichier);
$countExt = count($getExt);
$fExt = $countExt - 1;
$myExt = $getExt[$fExt];

if (in_array($getExt,$mesExtensions)) { $liste_jpg[] = $fichier; $cpt++;

$cpt++;
}
}
}
return $cpt;
closedir($ouvreDossier);
}
}
$nombreArt = listageArt();
if( $nombreArt == 0) $resultatArt = ('Aucune image à ajouter.');
if( $nombreArt > 0) $resultatArt = ( $nombreArt. ' image à ajouter.');
if( $nombreArt > 1) $resultatArt = ($nombreArt. ' images à ajouter.');

echo $resultatArt ;

padymen
 Posté le 17/11/2014 à 13:51 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

c'est bon, j'ai trouvé la solution, merci pour tes pistes

code fonctionnel :

function listageArt ()
{
$mesExtensions = array('jpg','jpeg','JPG','JPEG');
$chemin = "art/";
$cpt=0;
$ouvreDossier = opendir($chemin);
$chaine="";

if (is_dir($chemin))
{
if ($ouvreDossier = opendir($chemin))
{
while ($fichier = readdir($ouvreDossier))
{
$extension = explode('.', $fichier);
$extension = ($extension[count($extension) - 1]);

if (in_array($extension,$mesExtensions))
{
$nombreArt[] = $fichier;
$cpt++;
}
}
}
}

$resultat = count ($nombreArt);

if( $resultat == 0) $resultatArt = (' Aucune image à ajouter.');
if( $resultat > 0) $resultatArt = ($resultat.' image à ajouter.');
if( $resultat > 1) $resultatArt = ($resultat.' images à ajouter.');
echo "$resultatArt<br>\n";

closedir($ouvreDossier);
}

listageArt();

padymen
 Posté le 17/11/2014 à 19:41 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

En fait j'ai été un peu trop rapide pour marquer le sujet comme résolu !

alors tant qu'il y a un résultat à afficher ça fonctionne mais si il n'y a pas de résultat je me retrouve avec un superbe

Notice: Undefined variable: nombreArt in C:\xampp\htdocs\test\test\admin\include\admin.php on line 68

Notice: Undefined variable: resultatArt in C:\xampp\htdocs\test\test\admin\include\admin.php on line 71

et demain pas de pc pour cause de déplacement hors de France pour le boulot ...

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
Batterie portable Ugreen Nexode 100W 12 000 mAh (1xUSB C 100W PD, 1xUSB A 22.5W,) à 39,99 €
39,99 € 49,99 € -20%
@Amazon
PC Portable 15.6 pouces Medion Erazer Deputy P60 (FHD IPS 144 Hz, Core i7 12650H, 16 Go, SSD 512 Go, GeForce RTX 4070) à 949 €
949 € 1299,99 € -27%
@Rakuten
Batterie externe magnétique sans fil Ugreen Nexode 10000 mAh 15W (induction, MagSafe, Qi2) à 38,99 €
38,99 € 59,99 € -35%
@Amazon
PC portable HP 17.3 pouces (FHD, Ryzen 5 5500U, 8Go RAM, SSD 512 Go, Windows 11) à 399,99 €
399,99 € 499 € -20%
@Darty
Processeur AMD Ryzen 7 5800X à 149,54 €
149,54 € 200 € -25%
@Amazon Allemagne
SSD WD Black SN770 2 To (PCIe Gen4, NMVe M.2, 5150 Mo/s) à 113,36 €
113,36 € 150 € -24%
@Amazon Allemagne

Sujets relatifs
trier un array
variable d'un select MAJ en "directe"
variable
Passage de variable et affichage
variable $mailheaders
souci de troncature sur variable double
margin-left dans résultat d'une variable php
Retour à la ligne variable affiché dans du javascr
modifications de variable phpbb2
Extensions de fichiers limitées array()
Plus de sujets relatifs à variable et array
 > Tous les forums > Forum Forum des Webmasters