如何使用PHP opendir读取当前目录之外的目录?

时间:2011-09-08 19:19:24

标签: php

我似乎无法使用粗体文件路径工作。我想脚本扫描Dir_3。任何帮助都将非常感激。

 <?php

  // These files will be ignored
  $excludedFiles = array (
'excludeMe.file',
'excludeMeAs.well'
);

// These file extensions will be ignored
$excludedExtensions = array (
  'html',
'xslt',
'htm',
'ahk',
'xsl',
'txt',
'xml'
);

// Make sure we ignore . and ..
$excludedFiles = array_merge($excludedFiles,array('.','..')); 

 // Convert to lower case so we are not case-sensitive
 for ($i = 0; isset($excludedFiles[$i]); $i++) $excludedFiles[$i] =        
 strtolower(ltrim($excludedFiles[$i],'.'));
  for ($i = 0; isset($excludedExtensions[$i]); $i++) $excludedExtensions[$i] =    
 strtolower($excludedExtensions[$i]);

  // Loop through directory
  $count = 0;
  if ($handle = opendir('**http://www.mydomain.com/Dir_1/Dir_2/Dir_3/**')) {
  while (false !== ($file = readdir($handle))) {
  $extn = explode('.',$file);
  $extn = array_pop($extn);
  // Only echo links for files that don't match our rules
  if (!in_array(strtolower($file),$excludedFiles) &&   
  !in_array(strtolower($extn),$excludedExtensions)) {
    $count++;
    print("<a href=\"".$file."\">".$file."</a><br />\n");
  }
}
echo '<br /><br /><a href="..">Return</a>';
closedir($handle);
}

?>

2 个答案:

答案 0 :(得分:4)

你不能'打开'一个URL。但是你可以在opendir中指定相对和绝对PATHS:

opendir('.') // open current directory
opendir('..') // open parent directory
opendir('childdir') // open the 'childdir' directory which exists in the current directory (.)
opendir('childdir/grandchilddir') // open a grandchild directory down two levels from the current dir
opendir('../brotherdir') // open a directory next to the current one
opendir('../brotherdir/nephewdir') // open a director next to and down one
opendir('../..') // open a grandparent directory
opendir('../../uncle') // yada yada yada

opendir('/') // open the root dir (primordial slime/adam, depending on your viewpoint)
opendir('/cain') // open a dir called "cain" which is housed in the root directory.

答案 1 :(得分:1)

opendir()仅支持正确的文件系统路径,而不支持http://路径。