PHP如何从文本中提取指定行数内容
比如有一个1.txt有几千行文本,我想写一个PHP函数,随机提取10行的内容,放入一个变量中,请问这个代码如何写啊?...
比如有一个1.txt有几千行文本,我想写一个PHP函数,随机提取10行的内容,放入一个变量中,请问这个代码如何写啊?
展开
5个回答
展开全部
PHP如何从文本中提取指定行数内容?在php中,通过fopen()方法打开文件,在while中使用fgets()方法获取每行数据,每读到一行,就使用标识记录一次,通过累计记录数计算出文件的行数。下面介绍实现的过程。
方法/步骤分步阅读
1
/7
新建一个php文件,命名为handle.php,用于讲解PHP怎么获取文件的行数。
2
/7
新建一个文本文件,命名为test.txt,在里面输入四行数据,分别是aaa,bbb,ccc,ddd。
3
/7
在handle.php文件里,使用fopen方法以只读方式打开test.txt文件,代码如下:
4
/7
在handle.php文件里,创建一个初始变量i,用于保存文件内容的行数。
5
/7
通过while()语句,使用fgets方法从文件指针中读取一行,每读取一行,变量i自加一,直到到达文件末尾停止while的执行。
注:!feof($handle),函数检测是否已到达文件末尾。
6
/7
最后,使用echo输出文件的行数,并通过fclose关闭文件资源。代码如下:
7
/7
在浏览器执行handle.php文件,查看输出的行数,执行的结果为4行。
内容仅供参考并受版权保护
方法/步骤分步阅读
1
/7
新建一个php文件,命名为handle.php,用于讲解PHP怎么获取文件的行数。
2
/7
新建一个文本文件,命名为test.txt,在里面输入四行数据,分别是aaa,bbb,ccc,ddd。
3
/7
在handle.php文件里,使用fopen方法以只读方式打开test.txt文件,代码如下:
4
/7
在handle.php文件里,创建一个初始变量i,用于保存文件内容的行数。
5
/7
通过while()语句,使用fgets方法从文件指针中读取一行,每读取一行,变量i自加一,直到到达文件末尾停止while的执行。
注:!feof($handle),函数检测是否已到达文件末尾。
6
/7
最后,使用echo输出文件的行数,并通过fclose关闭文件资源。代码如下:
7
/7
在浏览器执行handle.php文件,查看输出的行数,执行的结果为4行。
内容仅供参考并受版权保护
展开全部
这是程序代码
思路是和楼上的基本一致
<?php
$open=file_get_contents("abcd.txt");
//把abcd.txt整个文件当做字符串存在$open变量里
$arr=explode("\r\n",$open);
/*按照windows换行作为分割条件,分割$open变量
换行:linux的\r,unix的时\n,windows是\r\n,html里是<br>
*/
shuffle($arr);
//打乱数组
for($i=0;$i<10;$i++)
//循环,这回是输出$arr2的10条
{
echo $arr[$i].'<br>';
}
?>
测试过了,没问题
思路是和楼上的基本一致
<?php
$open=file_get_contents("abcd.txt");
//把abcd.txt整个文件当做字符串存在$open变量里
$arr=explode("\r\n",$open);
/*按照windows换行作为分割条件,分割$open变量
换行:linux的\r,unix的时\n,windows是\r\n,html里是<br>
*/
shuffle($arr);
//打乱数组
for($i=0;$i<10;$i++)
//循环,这回是输出$arr2的10条
{
echo $arr[$i].'<br>';
}
?>
测试过了,没问题
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用函数explode将几千行文本信息按照分行方式分割字符串到数组中,然后使用shuffle函数将数组随机排序,取前10条记录信息。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$arr = file('1.txt',FILE_SKIP_EMPTY_LINES);
$count = count($arr);
$con = array_slice($arr, rand(0, $count), 10);
$string = implode('', $con);
$string为你要的结果。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
PHP中的 file_get_contents()、explode() 函数可以实现。
file_get_contents() 函数把整个文件读入一个字符串中。
explode() 函数以指定的分割符把字符串打散为数组。
例如:
<?php
//把read.txt文本中的内容读取到一个字符串中
$str = file_get_contents('read.txt');
//用换行的分割符(\r\n)把字符串分割为数组,也就是把每一行分割为成数组的一个值
$array = explode("\r\n",$str);
//输出文本中第4行内容(因为数组的键值是从0开始的,所以第4行也就是键值3)
echo $array[3];
?>
file_get_contents() 函数把整个文件读入一个字符串中。
explode() 函数以指定的分割符把字符串打散为数组。
例如:
<?php
//把read.txt文本中的内容读取到一个字符串中
$str = file_get_contents('read.txt');
//用换行的分割符(\r\n)把字符串分割为数组,也就是把每一行分割为成数组的一个值
$array = explode("\r\n",$str);
//输出文本中第4行内容(因为数组的键值是从0开始的,所以第4行也就是键值3)
echo $array[3];
?>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询