如何正确使用include()?

时间:2014-11-27 09:27:46

标签: php require

这是我的结构目录:

Main directory
  all.php
  file.php
  URL1.txt
  SubDirectory1
     URL2.txt
     file.php

文件 file.php ,如下所示:

 $filename = glob("URL*");
 echo $filename[0];

档案 all.php

<?php
    include('./SubDirectory1/file.php');

?>

问题是当我运行文件 all.php 时,浏览器显示 URL1.txt 。为什么它不显示URL2.txt。怎么解决?谢谢!

2 个答案:

答案 0 :(得分:0)

将此功能放入file.php。你会得到一个数组,你可以var_dump()

function glob_recursive($pattern) {
    $files = glob($pattern);

    foreach (glob(dirname($pattern).'/*', GLOB_ONLYDIR|GLOB_NOSORT) as $dir)
        $files = array_merge($files, glob_recursive($dir.'/'.basename($pattern)));

    return $files;
}

all.php文件中,您可以执行此操作:

print_r(glob_recursive("URL*"));

您将获得具有此模式的所有文件名!因此,您可以使用file()函数

答案 1 :(得分:0)

工作目录设置为主脚本位置。尝试放置您要搜索的位置的完整路径:

 $filename = glob(__DIR__ . DIRECTORY_SEPARATOR . 'URL*');

__DIR__是当前文件目录(因为PHP 5.3,对于较低的php版本使用dirname(__FILE__))。

http://php.net/manual/en/language.constants.predefined.php