PHP fgets按行读取字符串和explode分割字符串为数组

file.txt

类型|所在目录|文件|大小|创建时间

File|C:\Program Files\Java\jre7\lib\zi\America\Indiana|Vevay|724|2014-10-13 09:36
File|C:\Program Files\Java\jre7\lib\zi\America\Indiana|Vincennes|884|2014-10-13 09:36
File|C:\Program Files\Java\jre7\lib\zi\America\Indiana|Winamac|932|2014-10-13 09:36
Directory|C:\Program Files\Java\jre7\lib\zi\America|Indiana|0|2014-10-13 09:36

readfile.php

<?php
	$f= fopen("file.txt","r");
	while (!feof($f))
	{
  		$line = fgets($f);
  		echo $line,"<br />";

		$str = explode("|",$line);
		//print_r($str);

		$file_type =  $str [0];
		$dir_name =  $str [1];
		$file_name =  $str [2];
		$file_size =  $str [3];
		$create_time =  $str [4];

		echo $file_type;
		echo "</br>";

		echo $dir_name;
		echo "</br>";

		echo $file_name;
		echo "</br>";

		echo $file_size;
		echo "</br>";

		echo $create_time;
		echo "</br>";

	}
	fclose($f);

?>

结果显示

File|C:\Program Files\Java\jre7\lib\zi\America\Indiana|Vevay|724|2014-10-13 09:36
File
C:\Program Files\Java\jre7\lib\zi\America\Indiana
Vevay
724
2014-10-13 09:36
File|C:\Program Files\Java\jre7\lib\zi\America\Indiana|Vincennes|884|2014-10-13 09:36
File
C:\Program Files\Java\jre7\lib\zi\America\Indiana
Vincennes
884
2014-10-13 09:36
File|C:\Program Files\Java\jre7\lib\zi\America\Indiana|Winamac|932|2014-10-13 09:36
File
C:\Program Files\Java\jre7\lib\zi\America\Indiana
Winamac
932
2014-10-13 09:36
Directory|C:\Program Files\Java\jre7\lib\zi\America|Indiana|0|2014-10-13 09:36
Directory
C:\Program Files\Java\jre7\lib\zi\America
Indiana
0
2014-10-13 09:36 
时间: 2024-10-25 21:38:00

PHP fgets按行读取字符串和explode分割字符串为数组的相关文章

Java如何实现按指定行读取文件

最近在开发实战中,遇到了一个这样的技术情景: 把log4j生成的日志文件定时刷进MySQL数据库,比如三个小时刷一次,那么每次刷数据的时候,如何控制文件读取是从上一次文件读取结束的地方开始继续读取的?并且本次要读取到文件结尾处.在网上各种搜索提问后,找到了一个叫RandomAccessFile Java类解决了问题. 先上代码: static int size=1;//主要是为了控制循环的次数,因为是定时刷,每次刷的文件行数可能不一样 static long chars=0;//chars指的是

实现按行读取文件,把内容按照第三种内存模型打包数据传出,把行数通过函数参数传出。

/* 2 编写一个业务函数,实现按行读取文件.把内容按照第三种内存模型打包数据传出,把行数通过函数参数传出. 函数原型有两个,任意选择其一 要求1:请自己任意选择一个接口(函数),并实现功能:70分 要求2:编写测试用例.30分 要求3:自己编写内存释放函数 */ /********************************************************************** * 版权所有 (C)2015, Wu Yingqiang. * * 文件名称:ReadFi

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

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

23 遍历删除本地目录的方法,文件末尾追加内容,按行读取文件内容

1.遍历删除本地目录 /** * 递归删除非空目录 * @param file */ public static void deletNotEmptyDir(File file){ File[] files = file.listFiles(); if (files != null) { for (File f : files) { deletNotEmptyDir(f); } } file.delete(); } 2.文件末尾追加内容 /** * 在文件末尾追加字符串 * @param fil

C++中string类及文件流类(ofstream,ifstream)的基本操作---按行读取文档

先说明一个问题:java构建对象只能使用new的方法,而C++则不然. 下面代码实现读取test.txt文件中的内容并显示,同时将某一个字符串输入到文件test1.txt中. 函数getline(ifstream& param1, string& param2);按行读取文档,若处于文件尾部,返回false. 函数object.c_str();将字符串转换成字符数组,返回指针. 其它函数的使用请参照程序. // test_max.cpp : 定义控制台应用程序的入口点. // #inclu

java按行读取txt并按行写入

IO流想必大家都很熟悉了,本次实现的需求是按行读取文件内容并且按行写入,代码如下: 1 try { 2 String encoding="utf-8"; //设定自己需要的字符编码集 3 File file = new File("c:/text.txt"); 4 if(file.exists() && file.isFile()){ 5 InputStreamReader read = new InputStreamReader( 6 new Fi

C++/Php/Python/Shell 程序按行读取文件或者控制台

写程序经常需要用到从文件或者标准输入中按行读取信息,这里汇总一下.方便使用 1. C++ 读取文件 1 #include<stdio.h> 2 #include<string.h> 3 4 int main(){ 5 const char* in_file = "input_file_name"; 6 const char* out_file = "output_file_name"; 7 8 FILE *p_in = fopen(in_fi

【Python】按行读取文件、IOError: [Errno 22] invalid mode (&#39;a+&#39;) or filename,处理文件的换行符

Python一次性读取文件的所有内容在<[Python]文件读写操作>(点击打开链接)中已经说明过的,但有些时候,需要对文件中的每一行进行处理. 比如有一个f:\1.txt如下: 此时,如果要按行读取这个文件,可以直接利用Pyhon的for循环来读取,其中for的对象是这个文件指针,代码如下: file_path="f:\\a.txt" fp=open(file_path,"a+"); for eachline in fp: print eachline

Shell按行读取文件的3种方法

Shell按行读取文件的方法有很多,下面写出三种方法: 写法一: #!/bin/bash #描述: # while循环读行操作 #作者:孤舟点点 #版本:1.0 #创建时间:2017-11-09 04:08:52 PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH while read line do echo $line done < filename(待读取的文件) 写法二: