我正在创建一个php页面,它将使用循环从目录中的每个文件夹中读取某个.txt文件。我的目录结构如下所示:
根/
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个或更多文件夹时会发生错误。谁知道这个问题?任何帮助将不胜感激。
答案 0 :(得分:4)
$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值。