百度
360搜索
搜狗搜索

php读取文件,PHP读取大文件的几种方法介绍详细介绍

本文目录一览: PHP怎么读取文本并展示

PHP怎么读取文本并展示?利用PHP读取文本文件的内容,其实很简单,我们只需要掌握函数“file_get_contents();”的使用就可以了。下面,小编将作详细的介绍。file_get_content()函数介绍。定义和用法file_get_contents() 函数把整个文件读入一个字符串中。和 file() 一样,不同的是 file_get_contents() 把文件读入一个字符串。file_get_contents() 函数是用于将文件的内容读入到一个字符串中的首选方法。如果操作系统支持,还会使用内存映射技术来增强性能。语法file_get_contents(path,include_path,context,start,max_length)使用file_get_contents()获取txt文件的内容,具体参数说明如下:具体实例说明。从文本文件tst.txt中读取里面的内容并显示在浏览器中,具体代码如下:
推荐教程:PHP视频教程

php的类怎么读取到配置文件里面的配置项?

1、新建一个PHP文档,该文档的目的是检测PHP的环境配置,示例:
<!--?php phpinfo()。2、保存以上内容,在浏览器查看输出信息。
3、以上信息便是PHP的配置信息了,在该页面查找:Loaded Configuration File,红色方框中便是php.ini的具体路径了。
4、打开CMD窗口,并输入:php -i | findstr php.ini。
5、按下回车键执行后,同样可以得到php.ini配置文件的路径。

PHP读取大文件的几种方法介绍

  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来对文件进行操作时,也有多种不同的方法,效率可能也是略有差别的.

php 读取目录和文件

如果不知道子目录的命名和个数,则需要先遍历子目录
opendir,readdir,closedir等即可
或者使用类dir,具体参考参见PHP说明文档
http://cn.php.net/manual/en/ref.dir.php
下面是一段示例代码:
$dirhandle = opendir("../prodocs");
while(($file = readdir($dirhandle)) != NULL)
{
if(is_dir("../prodocs/$file"))
{
continue;
}
.........
}
closedir($dirhandle);
读取文件,根据上面的遍历结果和指定的文件名即可开始读取文件内容
具体函数和C标准函数是类似的
fopen,fclose,fseek,fread,fwrite等
这是一段示例代码(来自PHP文档):
<!--?php$handle = fopen("http://www.example.com/", "rb");
$contents = '';
while (!feof($handle)) {
$contents .= fread($handle, 8192);
}
fclose($handle);
?>

php如何读取某目录下的所有同类型文件

PHP的glob() 函数返回匹配指定模式的文件名或目录。
该函数返回一个包含有匹配文件 / 目录的数组。如果出错返回 false。
语法
glob(pattern,flags)
参数

描述
file 必需。规定检索模式。
size 可选。规定特殊的设定。

GLOB_MARK - 在每个返回的项目中加一个斜线
GLOB_NOSORT - 按照文件在目录中出现的原始顺序返回(不排序)
GLOB_NOCHECK - 如果没有文件匹配则返回用于搜索的模式
GLOB_NOESCAPE - 反斜线不转义元字符
GLOB_BRACE - 扩充 {a,b,c} 来匹配 'a','b' 或 'c'
GLOB_ONLYDIR - 仅返回与模式匹配的目录项
GLOB_ERR - 停止并读取错误信息(比如说不可读的目录),默认的情况下忽略所有错误

注释:GLOB_ERR 是 PHP 5.1 添加的。
例子 1

<!--?php$files = glob('*.jpg'); // 其他文件做类似修改,比如 *.png, *.txt等。。有目录请添加绝对目录。比如:c:/album/*.jpg
echo 'total : ' , count($files); // $files是一个文件数组。
?>
PHP使用函数opendir、readdir、closedir来实现文件夹的操作,下面以一个最基本的例子来作为入门介绍:
<!--?php//获取某目录下所有文件、目录名(不包括子目录下文件、目录名) $dir='C:/Users/'; $handler = opendir($dir); while (($filename = readdir($handler)) !== false) {//务必使用!==,防止目录下出现类似文件名“0”等情况 if ($filename != "." && $filename != "..") { $files[] = $filename ; } } } closedir($handler); //打印所有文件名 foreach ($filens as $value) { echo $value."
"; } ?>上面的代码显示c:\users文件夹里面的所有的文件和文件夹,忽略.和..两个特殊含义的文件夹,程序把所有文件和文件夹名称扫描保存到数组里面,然后显示。
如果你需要对文件进行过滤,例如只处理*.xls文件,可以在过滤.和..的地方添加代码。例如:
if (substr($filename,-4)=='.xls'){
当你理解了上面的代码之后,你就能编写扫描子文件夹、以及子 文件夹里面文件的方法了。基本思路是使用递归,下面我给出一个简单的例子:
function get_allfiles($path,&$files) { if(is_dir($path)){ $dp = dir($path); while ($file = $dp ->read()){ if($file !="." && $file !=".."){ get_allfiles($path."/".$file, $files); } } $dp ->close(); } if(is_file($path)){ $files[] = $path; } } function get_filenamesbydir($dir){ $files = array(); get_allfiles($dir,$files); return $files; } $filenames = get_filenamesbydir("c:/users/"); //打印所有文件名,包括路径 foreach ($filenames as $value) { echo $value."
"; }这个例子使用dir类来编写,实际上用opendir、readdir、closedir来写也是相同的。

php读取文件夹并输出?

<!--?php//主目录开始,假设文件夹为temp
$path=dirname(__FILE__).'/temp/';
//扫描文件夹
$file = scandir($path);
//计数
$total=count($file);
//随机一个
$ranum=rand(0,$total-1);
//输出
echo file_get_contents($path.$file[$ranum]);
<!--?php $dir = "./images/"; //要获取的目录
echo "********** 获取目录下所有文件和文件夹 ***********


";

//先判断指定的路径是不是一个文件夹

if (is_dir($dir)){

if ($dh = opendir($dir)){

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

//文件名的全路径 包含文件名

$filePath = $dir.$file;

echo "";

}

closedir($dh);

}

}

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

阅读更多 >>>  PHP的fopen()打开文件的函数

<!--?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."内容如下:"."
";

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

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

$line
=
fgets
(
$f
);

echo
$line."
<br
/>";

}

fclose($f);

}

}

closedir

(

$ch

);

}

}

?>

用php遍历某文件夹下的文件,并获取文件名

<!--?php $hostdir=dirname(__FILE__);

//获取本文件目录的文件夹地址

$filesnames = scandir($hostdir);

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

//print_r ($filesnames);

foreach ($filesnames as $name) {

//echo $name;

$url="http://www.****.com//".$name;

$aurl= "";

echo $aurl . "

";

}

?>

<!--?phpfunction 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."内容如下:"."

";

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

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

$i = 1;

while ($i < 10)

{

$line = fgets ( $fp );

echo $line."

";

$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 "目录为“.”或“..”"."

";

continue;

}

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

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

{

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

}

else

{

//打印文件

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

echo "

";

}

}

closedir ( $dirhandle );

}

}

else

{

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

return;

}

}

(此处空一行)

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

#echo "Hello World"."

";

$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= ""; //图片

echo $aurl . "

"; //输出他
</br

阅读更多 >>>  input file 样式,自定义input file样式及原理讲解

网站数据信息

"php读取文件,PHP读取大文件的几种方法介绍"浏览人数已经达到22次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:php读取文件,PHP读取大文件的几种方法介绍的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!