PHP读取目录下所有文件内容并显示

a.php目录下有很多xxx.txt。我需要读取所有txt并把内容显示。怎么写?谢谢

<?php

function printFile($filepath)

//substr(string,start,length)函数返回字符串的一部分;start规定在字符串的何处开始 ;length规定要返回的字符串长度。默认是直到字符串的结尾。  

//strripos(string,find,start)查找 "php" 在字符串中最后一次出现的位置; find为规定要查找的字符;start可选。规定开始搜索的位置

//读取文件后缀名

//$filetype = substr ( $filename, strripos ( $filename, "." ) + 1 );

//判断是不是以txt结尾并且是文件

#if ($filetype == "txt" && is_file ( $filepath . "/" . $filename ))

if ( is_file ( $filepath))

{

$filename=iconv("gb2312","utf-8",$filepath);

echo $filename."内容如下:"."<br/>";

$fp = fopen ( $filepath, "r" );//打开文件

#while (! feof ( $f )) //一直输出直到文件结尾

$i = 1;

while ($i < 10)

{

$line = fgets ( $fp );

echo $line."<br/>";

$i = $i +1;

}

fclose($fp);

}

}

(此处空一行)

function readFileRecursive($filepath)

{

if (is_dir ( $filepath )) //判断是不是目录

{

$dirhandle = opendir ( $filepath );//打开文件夹的句柄

if ($dirhandle) 

{

//判断是不是有子文件或者文件夹

while ( ($filename = readdir ( $dirhandle ))!= false )

{

if ($filename == "." or $filename == "..")

{

//echo "目录为“.”或“..”"."<br/>";

continue;

}

//判断是否为目录,如果为目录递归调用函数,否则直接读取打印文件

if(is_dir ($filepath . "/" . $filename ))

{

readFileRecursive($filepath . "/" . $filename);

}

else

{

//打印文件

printFile($filepath . "/" . $filename);

echo "<br/>";

}

}

closedir ( $dirhandle );

}

}

else

{

printFile($filepath . "/" . $filename);

return;

}

}

(此处空一行)

header("content-type:text/html;charset=utf-8");

#echo "Hello World"."<br/>";

$filepath = "C:/phpStudy/PHPTutorial/WWW/test/results"; //想要读取的目录

readFileRecursive($filepath )

?>

扩展资料:

php还可以读取文件夹下所有图片,方法如下

hostdir=dirname(__FILE__).'/data/upload/admin/20170517/'; //要读取的文件夹

(此处空一行)

$url = '/data/upload/admin/20170517/'; //图片所存在的目录

(此处空一行)

$filesnames = scandir($hostdir); //得到所有的文件

(此处空一行)

//  print_r($filesnames);exit;

//获取也就是扫描文件夹内的文件及文件夹名存入数组 $filesnames

(此处空一行)

$www = 'http://www.***.com/'; //域名

(此处空一行)

foreach ($filesnames as $name) {

$aurl= "<img width='100' height='100' src='".$www.$url.$name."' alt = '".$name."'>"; //图片

echo $aurl . "<br/>"; //输出他

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-03-23
<?php
$filepath
=
"a.php";
if
(is_dir
(
$filepath
))
{//判断是不是文件夹

$ch
=
opendir
(
$filepath
);//打开文件夹的句柄

if
($ch)
{

while
(
($filename
=
readdir
(
$ch
))
!=
false
)
{//判断是不是有子文件或者文件夹

$filetype
=
substr
(
$filename,
strripos
(
$filename,
"."
)
+
1
);

if
($filetype
==
"txt"
&&
is_file
(
$filepath
.
"/"
.
$filename
))
{//判断是不是以txt结尾并且是文件

echo
$filepath
.
"/"
.
$filename."内容如下:"."<br/>";

$f
=
fopen
(
$filepath
.
"/"
.
$filename,
"r"
);//打开文件

while
(!
feof
(
$f
))
{//循环输出

$line
=
fgets
(
$f
);

echo
$line."<br
/>";

}

fclose($f);

}

}

closedir
(
$ch
);

}
}
?>
第2个回答  推荐于2017-09-19
用php遍历某文件夹下的文件,并获取文件名
<?php
$hostdir=dirname(__FILE__);
//获取本文件目录的文件夹地址
$filesnames = scandir($hostdir);
//获取也就是扫描文件夹内的文件及文件夹名存入数组 $filesnames
//print_r ($filesnames);

foreach ($filesnames as $name) {
//echo $name;
$url="http://www.****.com//".$name;

$aurl= "<a href=\"".$url."\">".$url."</a>";
echo $aurl . "<br/>";

}

?>
第3个回答  2013-08-15
<?php
$filepath = "a.php";
if (is_dir ( $filepath )) {//判断是不是文件夹
$ch = opendir ( $filepath );//打开文件夹的句柄
if ($ch) {
while ( ($filename = readdir ( $ch )) != false ) {//判断是不是有子文件或者文件夹
$filetype = substr ( $filename, strripos ( $filename, "." ) + 1 );
if ($filetype == "txt" && is_file ( $filepath . "/" . $filename )) {//判断是不是以txt结尾并且是文件
echo $filepath . "/" . $filename."内容如下:"."<br/>";
$f = fopen ( $filepath . "/" . $filename, "r" );//打开文件
while (! feof ( $f )) {//循环输出
$line = fgets ( $f );
echo $line."
";
}
fclose($f);
}
}
closedir ( $ch );
}
}
?>本回答被网友采纳