用PHP读取.CONF文件

时间:2010-12-22 22:10:51

标签: php

我正在尝试读取文件名current.conf,然后使用保存在其中的文件夹名称为opendir();当我打开时:

$file = fopen("current.conf","r");
$lines = fread($file,"10");
fclose($file);

$lines = "/".$lines."/";

echo $lines;

$dir=opendir($lines);

$files=array();
while (($file=readdir($dir)) !== false)
{
if ($file != "." and $file != ".." and $file != "index.php")
{
array_push($files, $file);
}
}
closedir($dir);

current.conf中只有一行:

2.1-2328

我无法打开conf文件中指定的文件夹。我有一种感觉它与conf文件的格式有关,但不确定。

1 个答案:

答案 0 :(得分:3)

我怀疑目录不存在(或者您没有权限读取它),但没有特定错误(opendir最有可能抛出E_WARNING - 检查您的日志等)

顺便提一下,您可以重新编写代码以降低其复杂性,如下所示:

<?php
    // Grab the contents of the "current.conf" file, removing any linebreaks.
    $dirPath = '/'.trim(file_get_contents('current.conf')).'/';

    $fileList = scandir($dirPath);

    if(is_array($fileList)) {
        foreach($fileList as $file) {
            // Skip the '.' and '..' in here as required.
            echo $file."\n";
        } 
    }
    else echo $dirPath.' cound not be scanned.';
?>

在这种情况下,对scandir的调用将抛出E_WARNING。