Php 使用循环从多个文件夹中读取文本文件
我正在创建一个php页面,它将使用loop从目录中的每个文件夹中读取某个.txt文件。我的目录结构如下所示: 根/Php 使用循环从多个文件夹中读取文本文件,php,Php,我正在创建一个php页面,它将使用loop从目录中的每个文件夹中读取某个.txt文件。我的目录结构如下所示: 根/ Folder1-->data.txt(值为“1”) Folder2-->data.txt(值为“2”) foldernames.txt(每行都有值“Folder1”和“Folder2”。) readfolderdata.php readfolderdata.php <?php $file = "foldernames.txt"; if ( file_exists( $fi
- Folder1-->data.txt(值为“1”)
- Folder2-->data.txt(值为“2”)
- foldernames.txt(每行都有值“Folder1”和“Folder2”。)
- readfolderdata.php
<?php
$file = "foldernames.txt";
if ( file_exists( $file )) {
$page = join("",file("$file"));
$folder = explode("\n", $page);
for($x=0;$x<count($folder);$x++){
if($folder[$x]!=''){
$txtfile = $folder[$x].'/data.txt';
$handle = fopen($txtfile, 'r');
$data = fread($handle,filesize($txtfile));
fclose($handle);
echo $folder[$x]."<br>".$data;
}
}
?>
现在,上面的代码只从第二个文件夹Folder2读取data.txt。从第一个文件夹Folder1读取data.txt时出现错误“无法打开流”,尽管Folder1中存在data.txt。如果我从foldernames.txt中删除“Folder2”,它会正常工作,当有2个或更多文件夹时会发生错误
$file = "foldernames.txt";
$lines = file($file, FILE_IGNORE_NEW_LINES);
foreach($lines as $line) // Look through lines, $line is now folder name
{
$value = file_get_contents($line."/data.txt");
// Do whatever you want with your value, example echo:
echo $value;
}
此代码回显所有data.txt值
此代码回显所有data.txt值。print\r$folder可以帮助print\r显示一个数组“array([0]=>Folder1[1]=>Folder2)”,这意味着读取foldernames.txt没有问题,但是从第一个文件夹访问data.txt文件会有问题。print\r$folder可以帮助print\r显示一个数组(“array”[0]=>Folder1[1]=>Folder2)”,这意味着读取foldernames.txt没有问题,但是从第一个文件夹访问data.txt文件会有问题。