0

我有一个目录,其中包含 10 个 .txt 文件。使用以下命令打开目录:

$dir_handle = @opendir($path) or die("Unable to open $path"); 

我需要能够读取文本文件的文件名,然后将所有这些文件名写入带有 | 的主列表。在每个文件名之后。我也不希望将 masterlist.txt 写在自己内部,哈哈。所以 masterlist.txt 是使用 .txt 文件的文件名写入的内容。

4

1 回答 1

1

用 循环遍历目录readdir(),并验证每个条目不是主列表或...。用 . 将其写入文件file_put_contents()

// If master.txt already exists, delete it.
if (file_exists('master.txt')) {
  unlink('master.txt');
}

$dir_handle = @opendir($path) or die("Unable to open $path"); 
while ($f = readdir($dir_handle)) {
  if ($f != '.' && $f != '..' && $f != 'master.txt') {
    file_put_contents('master.txt', $f . "|", FILE_APPEND);
  }
}

如果您只想要.txt文件,请使用以下内容:

if (preg_match('/^(.+)\.txt$/', $f)) {
  // it's a .txt file.
}
于 2011-07-27T18:26:30.173 回答