效率较高的php下读取文本文件的代码 原创

fread :以字节位计算长度,按照指定的长度和次数读取数据,遇到结尾或完成指定长度读取后停止. 
fgets :整行读取,遇到回车换行或结尾停止.在文本方式时使用.
读字符串函数fgets函数的功能是从指定的文件中读一个字符串到字符数组中,
函数调用的形式为:
fgets(字符数组名,n,文件指针);
其中的n是一个正整数。
表示从文件中读出的字符串不超过 n-1个字符。
在读入的最后一个字符后加上串结束标志'\0'。
例如:fgets(str,n,fp);的意义是从fp所指的文件中读出n-1个字符送入字符数组str中。
按行读取)fgets()每次读入一行就会指向下一行.
所以把前面10行读进去了就清除. 
然后下一次fgets()就是第十一行了.

fgets()怎么每次都是读一行?你怎么设定?
fread是用于整块数据的读写函数,可用来读写一组数据,如一个数组元素,一个结构变量的值等。
读数据块函数调用的一般形式为: 
fread(buffer,size,count,fp),其中buffer是一个指针,
在fread函数中,它表示存放输入数据的首地址。
size 表示数据块的字节数。
count 表示要读写的数据块块数。
fp 表示文件指针。 
例如: fread(fa,4,5,fp); 其意义是从fp所指的文件中,每次读4

fread -- 读取文件(可安全用于二进制文件)
在区分二进制文件和文本文件的系统上(如 Windows)打开文件时,
fopen() 函数的 mode 参数要加上 'b'。
$handle = fopen($filename, "rb"); 
本人使用的方法,如果你有好的方法,大家分享下啊


代码如下:

<?php 
$handle = @fopen($path, "r"); 
    if ($handle) {     
$buffer = fread($handle, 400); 
echo $buffer; 
fclose($handle); 

?>

(0)

相关推荐

  • php获取字符串中各个字符出现次数的方法

    本文实例讲述了php获取字符串中各个字符出现次数的方法.分享给大家供大家参考.具体实现方法如下: <?php //获取字符串是哪一个字符出现的字数最多 $str = "sdfhletlsflahlajgfd;lsje;r;wj;ralajfe149253573"; //方法一 $arr = str_split($str); //字符串分隔到数组中 $arr = array_count_values($arr); //用于统计数组中所有值出现的次数,返回一个数组 //键名为原数组的

  • PHP 读取文本文件内容并分页显示

    功能很简单,只是使用 PHP 读取文本(TXT)文件 并分页显示 <?php //----------------you should save this file as m.php---------------- session_start(); if (empty($page)) {$page=1;} if (isset($_GET['page'])==TRUE) {$page=$_GET['page']; } ?> <html> <head> <meta h

  • php中计算未知长度的字符串哪个字符出现的次数最多的代码

    用到的函数: str_split:把字符串分割到数组中.类似的函数explode() 函数把字符串分割为数组.array_count_values:用于统计数组中所有值出现的次数.arsort:对数组进行逆向排序并保持索引关系.主要用于对那些单元顺序很重要的结合数组进行排序.$str="asdfgfdas323344##$\$fdsdfg*$**$*$**$$443563536254fas";//任意长度字符串 复制代码 代码如下: $arr=str_split($str); $arr

  • php查找字符串出现次数的方法

    本文实例讲述了php查找字符串出现次数的方法.分享给大家供大家参考.具体方法如下: 在php中查找字符串出现次数的查找可以通过substr_count()函数来实现,下面就来给大家详细介绍这些函数. substr_count($haystack, $needle [,$offset [,$length]]) 其中参数: $haystack表示母字符串,$needl表示要查找的字符 $offset表示查找的起点,$length表示查找的长度,均为可选参数 实例代码如下: 复制代码 代码如下: <?

  • PHP中substr_count()函数获取子字符串出现次数的方法

    本文实例讲述了PHP中substr_count()函数获取子字符串出现次数的方法.分享给大家供大家参考,具体如下: PHP中的substr_count()可用于计算指定字符串中子字符串出现的次数. substr_count()函数定义如下: substr_count(string,substring,start,length) 参数说明: string     必需.规定被检查的字符串. substring  必需.规定要搜索的字符串. start      可选.规定在字符串中何处开始搜索.

  • PHP快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)

    CSV大文件的读取已经在前面讲述过了(PHP按行读取.处理较大CSV文件的代码实例),但是如何快速完整的操作大文件仍然还存在一些问题. 1.如何快速获取CSV大文件的总行数? 办法一:直接获取文件内容,使用换行符进行拆分得出总行数,这种办法对小文件可行,处理大文件时不可行:办法二:使用fgets一行一行遍历,得出总行数,这种办法比办法一好一些,但大文件仍有超时的可能:办法三:借助SplFileObject类,直接将指针定位到文件末尾,通过SplFileObject::key方法获取总行数,这种办

  • PHP读取txt文本文件并分页显示的方法

    本文实例讲述了PHP读取txt文本文件并分页显示的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <?php     session_start();     if (empty($page)) {$page=1;}     if (isset($_GET['page'])==TRUE) {$page=$_GET['page']; } ?> <html> <head> <meta http-equiv="Content-Type&q

  • php 文本文件的读取效率

    首页大概3KB,是在本地测试的 复制代码 代码如下: file_get_contents('shadow.xml'); 耗时 0.0003 秒 复制代码 代码如下: $indexFile = fopen('shadow.xml', 'r');while ( !feof($indexFile)) fgetc( $indexFile); 耗时 0.026 秒 复制代码 代码如下: $indexFile = fopen('shadow.xml', 'r');fread($indexFile, 1000

  • PHP读取文本文件并逐行输出该行使用最多的字符与对应次数的方法

    本文实例讲述了PHP读取文本文件并逐行输出该行使用最多的字符与对应次数的方法.分享给大家供大家参考,具体如下: test.txt文件: Welcome to our website jb51.net www.jb51.net php asp java jsp php代码(读取test.txt文件): $myfile = fopen("test.txt", "r"); while(!feof($myfile)) { $line_str = fgets($myfile)

  • 效率较高的php下读取文本文件的代码 原创

    fread :以字节位计算长度,按照指定的长度和次数读取数据,遇到结尾或完成指定长度读取后停止.  fgets :整行读取,遇到回车换行或结尾停止.在文本方式时使用. 读字符串函数fgets函数的功能是从指定的文件中读一个字符串到字符数组中, 函数调用的形式为: fgets(字符数组名,n,文件指针): 其中的n是一个正整数. 表示从文件中读出的字符串不超过 n-1个字符. 在读入的最后一个字符后加上串结束标志'\0'. 例如:fgets(str,n,fp);的意义是从fp所指的文件中读出n-1

  • JAVA读取文本文件内容实例代码

    java读取文本文件内容 今天写代码写着要调试一个很长的字符串,就用idea新建了text文本,存放长字符串的内容.结果发现读取文本文件内容的java代码不怎么会写了,果然是面向百度编程,面向control c 或者control v编程,尴尬. 最终的代码如下: public static String readFileContent(String fileName) { File file = new File(fileName); BufferedReader reader = null;

  • java高并发情况下高效的随机数生成器

    前言 在代码中生成随机数,是一个非常常用的功能,并且JDK已经提供了一个现成的Random类来实现它,并且Random类是线程安全的. 下面是Random.next()生成一个随机整数的实现: protected int next(int bits) { long oldseed, nextseed; AtomicLong seed = this.seed; do { oldseed = seed.get(); nextseed = (oldseed * multiplier + addend)

  • 用vbs读取文本文件的最后一行

    问: 您好,脚本专家!如何仅读取文本文件的最后一行? -- BM 答: 您好,BM.如果您曾经想知道您好,脚本专家!与其它每日专栏(比如,知心姐姐)的不同之处,那么,下面是一种途径.假设有人在给知心姐姐的信中说: 知心姐姐: 我的生活一团糟,我需要采取一些措施来应对.我如何能扭转我的生活并且重新快乐起来? 绝望之人于代顿 知心姐姐绝不会给绝望之人这样的答复: 亲爱的绝望之人: 唉,您的生活不能变好了.很抱歉. 那么,您认为脚本专家会如何答复您关于读取文本文件的最后一行呢?答对了: 亲爱的 BM:

  • PHP 字符串长度判断效率更高的方法

    有经验的程序员发现,php判断字符串长度,使用isset()在速度上比strlen()更快,执行效率更高.即: 复制代码 代码如下: $str = 'aaaaaa';if(strlen($str) > 6)VSif(!isset($str{6}) 用例子简单测试下,情况基本属实,isset()效率几乎是strlen()的3倍.示例: 复制代码 代码如下: <?php //使用strlen方式 $arr = "123456"; $sTime = microtime(1); i

  • 用vbs读取远程计算机上的文本文件的代码

    问: 您好,脚本专家!如何读取远程计算机上的文本文件? -- BM 答: 您好,BM.我们得承认:我们在利用您和您的问题来达成我们自己的邪恶目的.本周早些时候我们回答了有关如何读取一组文本文件最后一行的问题:在回答中,我们承诺将会说明如何使用 FileSystemObject 对远程计算机执行同样的功能.这并无恶意,只是为了维护本专栏的精神,除非有人提出有关对远程计算机上的文本文件进行处理的问题,我们是不会做出回答的.于是我们选择了您的问题. 因此,没错,我们在利用您.但如果往好处想,您的问题得

  • 探讨++i与i++哪个效率更高

    答案: 在内建数据类型的情况下,效率没有区别: 在自定义数据类型的情况下,++i效率更高! 分析: (自定义数据类型的情况下) ++i返回对象的引用: i++总是要创建一个临时对象,在退出函数时还要销毁它,而且返回临时对象的值时还会调用其拷贝构造函数. (重载这两个运算符如下) 复制代码 代码如下: #include <iostream>using namespace std; class MyInterger{public:    long m_data;public:    MyInter

  • Spring AOP中的JDK和CGLib动态代理哪个效率更高?

    一.背景 今天有小伙伴面试的时候被问到:Spring AOP中JDK 和 CGLib动态代理哪个效率更高? 二.基本概念 首先,我们知道Spring AOP的底层实现有两种方式:一种是JDK动态代理,另一种是CGLib的方式. 自Java 1.3以后,Java提供了动态代理技术,允许开发者在运行期创建接口的代理实例,后来这项技术被用到了Spring的很多地方. JDK动态代理主要涉及java.lang.reflect包下边的两个类:Proxy和InvocationHandler.其中,Invoc

  • Java读取文本文件的各种方法

    目录 1.方法 方法一. 使用BufferedReader类 方法二.使用 FileReader 类 方法三.使用 Scanner 类 方法四.读取列表中的整个文件 2.语法 方法五.将文本文件读取为字符串 前言: 有多种写入和读取文本文件的方法.这在处理许多应用程序时是必需的.在 Java 中有多种方法可以读取纯文本文件,例如你可以使用FileReader.BufferedReader或Scanner来读取文本文件.每个实用程序都提供了一些特殊的东西,例如 BufferedReader 为快速

  • Redis高并发场景下秒杀超卖解决方案(秒杀场景)

    目录 1 什么是秒杀 2 为什么要防止超卖 3 单体架构常规秒杀 3.1 常规减库存代码 3.2 模拟高并发 3.3 超卖现象 3.4 分析原因 4 简单实现悲观乐观锁解决单体架构超卖 4.1 悲观锁 4.2 乐观锁 4.3 redis锁setnx 4.4 使用Redision 5 分布式锁的解决方案 6 采用缓存队列防止超卖 1 什么是秒杀 秒杀最直观的定义:在高并发场景下而下单某一个商品,这个过程就叫秒杀 [秒杀场景] 火车票抢票 双十一限购商品 热度高的明星演唱会门票 … 2 为什么要防止

随机推荐