23 votes

comment puis-je faire pointer le glob PHP vers un répertoire spécifique ?

J'ai donc obtenu ce code pour lister toutes les images jpg dans un répertoire mais il ne fonctionne que sur mon répertoire racine et je ne sais pas comment le faire pointer vers mon répertoire d'images.

<ul>
<?php foreach (glob("N*T.jpg") as $image): ?>
    <li>
        <a href="<?php echo str_replace("T", "F", $image); ?>">
            <img src="<?php  echo "$image"; ?>">
        </a>
    </li>
<?php endforeach; ?>
</ul>

Quelqu'un peut-il m'aider ?

41voto

seriousdev Points 2894

Cela devrait fonctionner :

glob('images/N*T.jpg');

Autrement :

chdir('images');
glob('N*T.jpg');

15voto

Gordon Points 156415

Il suffit de faire précéder le chemin d'accès à l'appel de la fonction.

glob('/path/to/directory/N*T.jpg');

Notez que le tableau résultant contiendra également le chemin d'accès ajouté au préalable. Si vous ne voulez pas cela, faites

array_map('basename', glob('/path/to/directory/N*T.jpg'));

1voto

krtek Points 15497

Il suffit d'ajouter le chemin à l'appel de votre fonction :

glob("/my/path/to/directory/N*T.jpg")

1voto

kjy112 Points 9481
$files = glob("/path/to/directory/N*T.jpg");

1voto

user2118559 Points 362

Comme on le comprend glob commence par le répertoire racine. Par exemple, je vois une image avec ceci

<img src="<?php 
echo $_SERVER['REQUEST_SCHEME']. '://'. $_SERVER['SERVER_NAME']. '/public_images/logo_image_.gif';
?>"></img>

Essayez alors

echo pathinfo( glob( 'public_images/logo_image_.*' )[0] , PATHINFO_EXTENSION). '  <br/>';

et voir gif . Emplacement de public_images es C:\wamp\www\public_images

Mais par exemple avec

echo pathinfo( glob( $_SERVER['REQUEST_SCHEME']. '://'. $_SERVER['SERVER_NAME']. 'public_images/logo_image_.*' )[0] , PATHINFO_EXTENSION). '  <br/>';

véase Notice: Undefined offset: 0 in C:\wamp\www\show_content.php on line ...

Cependant, si le fichier situé à C:\wamp\www\some_dir le fichier d'appel situé à C:\wamp\www\public_images il faut alors utiliser echo pathinfo( glob( '../public_images/logo_image_.*' )[0] , PATHINFO_EXTENSION)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X