php实例之按行读取文件内容
时间:2016-08-21
php读取文件的函数有很多,比如逐个字符读取文件(fgetc)、逐行读取文件(fgets)等,本文章向大家介绍php逐行读取文件内容的实例,需要的朋友可以参考一下本文章的源代码。
php逐行读取文件源代码如下:
<html>
<head>
<title>php实例之按行读取文件内容</title>
</head>
<body>
<?php
$filename = "test.txt";
$fp = fopen( $filename, "r" ) or die("Couldn't open $filename");
while ( ! feof( $fp ) ) {
$line = fgets( $fp, 1024 );
print "$line<br>";
}
?>
</body>
</html>
在看下面是个实例,该实例逐行读取文件中的数据并使用正则表达式处理每一行的数据,然后进行数据库操作。
$handle = @fopen("D:/public/test.txt", "r");
if ($handle) {
while (!feof($handle)) {
$str = fgets($handle, 4096);
//$str = '#主单词1#';
if(preg_match('/#(.+)#/',$str,$matches)){
$di_word = $matches[1];
$di_word = mysql_escape_string($di_word);
$sql = " SELECT di_id FROM `du_index` WHERE di_word = '{$di_word}'";
$result = mysql_query($sql);
$row = mysql_fetch_row($result);
$di_id = $row[0];
if (count($dy_word)>0){
$sql = " INSERT INTO `du_yun` (`di_id`,`di_word`,`dy_word`,`dy_description`,`dy_status`,`dy_time`) VALUES";
for ($i=0;$i<count($dy_word);$i++){
$sql .= " ('{$di_id_1}','{$di_word_1}','{$dy_word[$i]}','{$dy_description[$i]}','1',now()),";
}
$result = mysql_query(substr($sql,0,-1).';');
if ($result){}else{
echo $sql . '<br />';
}
}
$di_id_1 = $di_id;
$di_word_1 = $di_word;
$dy_word = $dy_description = array();
$sql = '';
continue;
};
//$str = '[志願者]參[與]人員';
/* http://www.manongjc.com/article/1384.html */
if (preg_match('/^\[(.+)\](.+)$/',$str,$matches)){
$dy_word[] = trim($matches[1]);
$dy_description[] = trim($matches[2]);
continue;
}
}
if (count(dy_word)>0){
$sql = " INSERT INTO `du_yun` (`di_id`,`di_word`,`dy_word`,`dy_description`,`dy_status`,`dy_time`) VALUES";
for ($i=0;$i<count($dy_word);$i++){
$sql .= " ('{$di_id_1}','{$di_word_1}','{$dy_word[$i]}','{$dy_description[$i]}','1',now()),";
}
$result = mysql_query(substr($sql,0,-1).';') or die(mysql_error());
if ($result){}else{
echo $sql . '<br />';
}
}
fclose($handle);
}
- 【插件开发】—— 2 插件入门
- 线程间通讯:WaitHandler使用实例及分析
- 域名Deskbike.com刚注册没多久就以五位数结拍
- 一起Polyfill系列:Function.prototype.bind的四个阶段
- winform实现拼图游戏
- 一起Polyfill系列:让Date识别ISO 8601日期时间格式
- Oracle 监听器无法启动(TNS-12537,TNS-12560,TNS-00507)
- Javascript Prototypes之旅(A Plain English Guide to JavaScript Prototypes译文)
- Python补充03 Python内置函数清单
- 不懂JQuery的孩子:自封装Ajax函数
- .Net魔法堂:史上最全的ActiveX开发教程——ActiveX与JS间交互篇
- 飓风“桑迪”路径图的制作
- 根据标准word模板生成word文档类库(开源)
- Oracle 监听器无法启动(TNS-12555,TNS-12560,TNS-00525)
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- VIM编辑器基操
- Weevely入手指南
- Mybatis是如何执行一条SQL命令的?
- 如何为机器学习工程设计Python接口
- [举个栗子]增加组件通用性的几个点
- 《剑指offer》第14天:最长公共前缀
- 20,000 字帮你搞定策略模式!
- LeetCode 09正则表达式匹配(递归VS动态规划)
- 初识ABP vNext(5):ABP扩展实体
- 教你如何用Paddle.js开发智能化微信小程序
- Spark+Kudu的广告业务项目实战笔记(一)
- Java的新未来:逐渐“Kotlin化”
- 用 GitLab 做 CI/CD 是什么感觉,太强了!!
- 避坑指南:通过expdp/impdp迁移数据的7个坑
- 组复制背景 | 全方位认识 MySQL 8.0 Group Replication