我怎样才能将PHP glob指向特定目录?

时间:2011-03-09 21:15:02

标签: php

所以我得到这个代码列出目录中的所有jpg图像,但它只适用于我的根目录,我不知道如何将它指向我的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>

任何人都可以帮助我吗?

5 个答案:

答案 0 :(得分:37)

这应该有效:

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

否则:

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

答案 1 :(得分:15)

只需添加函数调用的路径。

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

请注意,生成的数组也将包含前置路径。如果你不想这样做

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

答案 2 :(得分:1)

只需添加函数调用的路径:

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

答案 3 :(得分:1)

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

答案 4 :(得分:0)

理解glob从根目录开始。例如,我看到这个图像

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

然后尝试

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

并查看gifpublic_images的位置为C:\wamp\www\public_images

但是例如

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

请参阅Notice: Undefined offset: 0 in C:\wamp\www\show_content.php on line ...

但是,如果来自位于C:\wamp\www\some_dir的{​​{1}}来电文件的文件,则需要使用C:\wamp\www\public_images