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

PHP读取目录下所有文件内容并显示,第1张

<?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/htmlcharset=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、列出当前目录的文件、文件夹完整路径

ls

-1

|awk

'{print

i$0}'

i=`pwd`'/'

(注意:这里

ls

后面那是个数字

1

而不是字母

l)

2、列出当首脊行前目录及子目录的文件、文件夹完整路径

ls

-r

|awk

'{print

i$0}'

i=`pwd`'/'

2b)

列出当前目录及子目录下的文件夹完整路径

ls

-fr

|

grep

/$

|

sed

"s:^:`pwd`/:"

3、用find实现,好像运行要慢些

find

/

-name

"*.*"

-exec

ls

{}

\

4、递归列出当前者哗目录及子目录名称

ls

-fr

|

grep

/$

5、递归列出当前目录及子目录名称,包括相关属性

ls

-lr

|

grep

"^d"

#

drwxr-xr-x

3

idea

idea

4096

aug

2

2009

images

6、只列出当前目录下的子目录

用野茄ls只列出子目录

ls

-d

*/

<?php

 

/**

 * Goofy 2011-11-30

 * getDir()去文件夹列表,getFile()去对应文件夹下面的文件列表,二者的区别在于判断有没有“.”后缀的文件,其陆燃竖他都一样

 */

 

//获取文件目录列表,该方法返回数组

function getDir($dir) {

    $dirArray[]=NULL

    if (false != ($handle = opendir ( $dir ))) {

        $i=0

        while ( false !== ($file = readdir ( $handle )) ) {

            //去掉"“.”、“..”以及带“.xxx”后缀的文件

            if ($file != "." && $file != ".."&&!strpos($file,".")) {

                $dirArray[$i]=$file

                $i++

            }

        }

        //关闭句柄

        closedir ( $handle )

    }

   段启 return $dirArray

}

 

//获取文件列表

function getFile($dir) {

    $fileArray[]=NULL

    if (false != ($handle = opendir ( $dir ))) {

        $i=0

        while ( false !== ($file = readdir ( $handle )) ) {

            //去掉"“.”、“..”以及带“.xxx”后缀的文件

            if ($file != "." && $file != "早大.."&&strpos($file,".")) {

                $fileArray[$i]="./imageroot/current/".$file

                if($i==100){

                    break

                }

                $i++

            }

        }

        //关闭句柄

        closedir ( $handle )

    }

    return $fileArray

}

 

//调用方法getDir("./dir")……

?>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12171699.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存