8791 sujets

Développement web côté serveur, CMS

Bonjour j'ai ce code

<?php 
$dir = '_admin/pdf/pde/*.{pdf}';
$files = glob($dir,GLOB_BRACE);
 
foreach($files as $dir)
{

 
        echo '<li><a href="'.$dir.'"><img src="_img/icones/pdf_icon.png" alt="" width="15" height="15" />'.$dir.'</a></li>';

}
?>

Qui me permet de lister le contenu de mon dossier où se trouve mes uploads...
Cependant j'aimerais afficher seulement les fichiers commençant par 1:
ex: j'ai 4 dossiers qui se nomme 1_nomdfichier.pdf ; 1_nomfichier3.pdf; 2_nomfichier3.pdf; 2_nomfichier3.pdf;

J'aimerais afficher juste les deux premiers fichiers qui commence par 1.

Au niveau de mon code, c'est au niveau de
$dir = '_admin/pdf/pde/*.{pdf}';
qu'il faut que je modifie "*" par une autre instruction, mais j'arrive pas à trouver les syntaxes pour cela.

Quelqu'un peut me dire où chercher ou si quelqu'un à déjà eu la même recherche que moi... si il peut m'aider! Smiley smile
Merci
Modifié par Pahaaco (03 Aug 2011 - 15:33)
Salut,
Mon problème n'est pas le même...
Car mon sujet d'avant et résolu... mais je ne sais pas comment le passer en résolu,
tu peux me l'indiquer peut etre ?

D'autres part personne ne me répond...

Et est ce que tu peux m'aider à propos de ma question ?
C'est exactement la même question de base. Donc si tu as résolu l'autre pas besoin d'en ouvrir un 2ème puisque tu sais comment faire.

Pour mettre un sujet en résolu tu édites le 1er message du sujet et tu rajoutes [ résolu ] dans le titre.
Modifié par jb_gfx (02 Aug 2011 - 20:48)
Ca y'est j'ai mis l'autre sujet en résolu.

Le souci est que j'affiche mes fichiers mais je n'arrive pas à sélectionner juste certain tu comprends ?
Je sais pas si je suis clair, mais est ce que tu as une idée avec une regex ?
Si tu veux juste savoir si le premier caractère est '1' tu n'as pas besoin d'expression rationnelle pour ça. En PHP tu peux accéder à un caractère d'une chaine directement en précisant sa position dans la chaine comme pour accéder à une valeur d'un tableau.


$string = '1_truc';

if ($string{0} == '1')
{
  // le premier caractère est '1';
}


Tu peux aussi utiliser des crochets à la place des accolades (exactement comme un tableau).
Modifié par jb_gfx (02 Aug 2011 - 21:05)
ok, mais les noms des fichiers je les connais, je veux juste pouvoir afficher des fichiers du même dossiers à des endroits différents dans ma page.

Du genre si

<?php
$dir = '_admin/pdf/pde/*.{pdf}';
$files = glob($dir,GLOB_BRACE);
$string = '1';
if ($string{0} == '1')
{
        echo '<li><a href="'.$dir.'"><img src="_img/icones/pdf_icon.png" alt="" width="15" height="15" />'.$dir.'</a></li>';

}?>

Mon code est pas bon mais est ce que tu vois comment le modifier pour qu'il soit exact ?
1. Ton code s'affiche pas.

2. Ta question était : je veux afficher les fichiers dont le nom commence par 1.
Modifié par jb_gfx (02 Aug 2011 - 21:38)
voila le code désolé:
<?php
$dir = '_admin/pdf/pde/*.{pdf}';
$files = glob($dir,GLOB_BRACE);
$string = '1';
if ($string{0} == '1')
{
        echo '<li><a href="'.$dir.'"><img src="_img/icones/pdf_icon.png" alt="" width="15" height="15" />'.$dir.'</a></li>';

}?>


C'est exactement ça ma question Smiley smile
Je crois que c'est plutôt un cours de logique qu'il faudrait ...

Tu mets ta condition dans ta boucle.


foreach ($files as $dir)
{
     if ($dir[0] == '1') 
     {
           ton code .....
     }
}