一般来说php中读取目录下的
文件名的方式确实不少,最简单的是scandir,具体
代码如下:\x0d\x0a复制代码 代码如下:$dir="./caxa/"\x0d\x0a$file=scandir($dir)\x0d\x0aprint_r($file)\x0d\x0a稍微复杂点的,来自于php手册:\x0d\x0a复制代码 代码如下:$dir = "/etc/php5/"\x0d\x0a// Open a known directory, and proceed to read its contents\x0d\x0aif (is_dir($dir)) {\x0d\x0aif ($dh = opendir($dir)) {\x0d\x0awhile (($file = readdir($dh)) !== false) {\x0d\x0aecho "filename: $file : filetype: " . filetype($dir . $file) . "\n"\x0d\x0a} closedir($dh)\x0d\x0a}\x0d\x0a}\x0d\x0a这些都只能读取当前指定目录下的文件,对子目录中的文件则无法读取。原来自己写过一个循环删除所有目录的一段代码,需要逐个子目录删除所有文件,包括多层。但是只需要读出文件名,稍微复杂点,网上找到一个能用,原始代码有错误提示,改了一下引用&$data的地方,如下所示:\x0d\x0a复制代码 代码如下:function searchDir($path,&$data){\x0d\x0aif(is_dir($path)){\x0d\x0a$dp=dir($path)\x0d\x0awhile($file=$dp->read()){\x0d\x0aif($file!='.'&&$file!='..'){\x0d\x0asearchDir($path.'/'.$file,$data)\x0d\x0a}\x0d\x0a}\x0d\x0a$dp->close()\x0d\x0a}\x0d\x0aif(is_file($path)){\x0d\x0a$data[]=$path\x0d\x0a}\x0d\x0a}\x0d\x0afunction getDir($dir){\x0d\x0a$data=array()\x0d\x0asearchDir($dir,$data)\x0d\x0areturn $data\x0d\x0a}\x0d\x0aprint_r(getDir('.'))\x0d\x0a希望本文所述对大家的PHP程序设计有所帮助。利用PHP读取文本文件的
内容,其实很简单,我们只需要掌握函数“file_get_contents()”的使用就可以了。下面,小编将作详细的介绍。
工具/原料
电脑一台
WAMP开发环境
方法/步骤
file_get_content()函数介绍。使用file_get_contents()获取txt文件的内容,具体参数说明如下:
2
具体实例说明。从文本文件tst.txt中读取里面的内容并显示在浏览器中,具体代码和图示如下:
<?php
$file = 'tst.txt'
$content = file_get_contents($file)//读取文件中的内容
echo $content
?>
1. 直接采用file函数来 *** 作
由于 file函数是一次性将所有内容读入内存,而PHP为了防止一些写的比较糟糕的程序占用太多的内存而导致系统内存不足,使服务器出现宕机,所以默认情况下限制只能最大使用内存16M,这是通过php.ini里的 memory_limit = 16M 来进行设置,这个值如果设置-1,则内存使用量不受限制。
2.直接调用Linux的 tail 命令来显示最 后几行
在Linux命令行下,可以直接使用 tail -n 10 access.log 很轻易的显示日志文件最后几行,可以直接用PHP来调用tail命令.
3. 直接使用PHP的 fseek 来进行文件 *** 作
这种方式是最为普遍的方式,它不需要将文件的内容全部读入内容,而是直接通过指针来 *** 作,所以效率是相当高效的。在使用fseek来对文件进行 *** 作时,也有多种不同的方法,效率可能也是略有差别的.
评论列表(0条)