打开文件:fopen:fopen(filename,mode);//fopen("test.txt","r”);

打开模式:r  仅仅读方式打开,将文件指针指向文件头
                r+  读写方式打开,将文件指针指向文件头
                w  写入方式,指向文件头,假设不存在则尝试创建
                w+ 读写方式,指向文件头,假设不存在则尝试创建
                a  写入方式打开,指向文件末尾,假设不存在则尝试创建
                a+ 读写方式打开,指向文件末尾,假设不存在则尝试创建 
读取文件:fread:fread();

readfile(filename):读取文件内容,并把它写入输出缓冲
<?php
echo readfile("webdictionary.txt");
?>
fopen(filename,mode):打开文件,创建文件
<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
echo fread($myfile,filesize("webdictionary.txt"));
fclose($myfile);
?>
fopen也用于创建文件,假设打开的不存在的文件,此函数会创建文件,嘉定文件被打开为写入(w)或者添加(a)。
模式 描写叙述
r 打开文件为仅仅读。文件指针在文件的开头開始。
w 打开文件为仅仅写。删除文件的内容或创建一个新的文件,假设它不存在。文件指针在文件的开头開始。
a 打开文件为仅仅写。文件里的现有数据会被保留。文件指针在文件结尾開始。创建新的文件,假设文件不存在。
x 创建新文件为仅仅写。返回 FALSE 和错误,假设文件已存在。
r+ 打开文件为读/写、文件指针在文件开头開始。
w+ 打开文件为读/写。删除文件内容或创建新文件,假设它不存在。文件指针在文件开头開始。
a+ 打开文件为读/写。文件里已有的数据会被保留。文件指针在文件结尾開始。创建新文件,假设它不存在。
x+ 创建新文件为读/写。返回 FALSE 和错误,假设文件已存在。
fwrite(资源,内容) //写入文件内容
<?php
$myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
$txt = "Bill Gates\n";
fwrite($myfile, $txt);
$txt = "Steve Jobs\n";
fwrite($myfile, $txt);
fclose($myfile);
?>
fread($myfile,filesize("webdictionary.txt"));
fgets():用来读取单行,fgets(file,lenght),lenght可选,规定要读取的字节数。默认是1024字节。

从 file 指向的文件里读取一行并返回长度最多为 length - 1 字节的字符串。碰到换行符(包含在返回值中)、EOF 或者已经读取了length - 1 字节后停止(要看先碰到那一种情况)。假设没有指定 length,则默觉得
1K,或者说 1024 字节。

若失败,则返回 false。

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
echo fgets($myfile);
fclose($myfile);
?>
fgetc():读取单个字符

unlink(文件) //删除一个文件
<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
// 输出单行直到 end-of-file
while(!feof($myfile)) {
echo fgets($myfile) . "<br>";
}
fclose($myfile);
?>
filesize(filename):filename为文件名称,是字符串类型。本函数的结果会被缓存,清试用clearstatcache()来清除缓存。
filetype();
 

php学习笔记--高级教程--读取文件、创建文件、写入文件的更多相关文章

  1. Android学习笔记之Android Studio下创建menu布局文件

    1.创建menu文件夹 Android Studio项目中如果没有menu文件夹,在res文件夹右键,new-Android resource directory: 则会弹出下图对话框,在Resour ...

  2. 数据库MySQL学习笔记高级篇

    数据库MySQL学习笔记高级篇 写在前面 学习链接:数据库 MySQL 视频教程全集 1. mysql的架构介绍 mysql简介 概述 高级Mysql 完整的mysql优化需要很深的功底,大公司甚至有 ...

  3. 学习笔记|JSP教程|菜鸟教程

    学习笔记|JSP教程|菜鸟教程 ------------------------------------------------------------------------------------ ...

  4. Android学习笔记——Activity的启动和创建

    http://www.cnblogs.com/bastard/archive/2012/04/07/2436262.html Android Activity学习笔记——Activity的启动和创建 ...

  5. golang学习笔记5 用bee工具创建项目 bee工具简介

    golang学习笔记5 用bee工具创建项目 bee工具简介 Bee 工具的使用 - beego: 简约 & 强大并存的 Go 应用框架https://beego.me/docs/instal ...

  6. SQL反模式学习笔记12 存储图片或其他多媒体大文件

    目标:存储图片或其他多媒体大文件 反模式:图片存储在数据库外的文件系统中,数据库表中存储文件的对应的路径和名称. 缺点:     1.文件不支持Delete操作.使用SQL语句删除一条记录时,对应的文 ...

  7. python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码

    python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码 python的json.dumps方法默认会输出成这种格式"\u535a\u ...

  8. WPF 学习笔记-在WPF下创建托盘图标

    原文:WPF 学习笔记-在WPF下创建托盘图标 首先需要在项目中引用System.Windows.Forms,System.Drawing; using System; using System.Co ...

  9. Spring源码学习-容器BeanFactory(一) BeanDefinition的创建-解析资源文件

    写在前面 从大四实习至今已一年有余,作为一个程序员,一直没有用心去记录自己工作中遇到的问题,甚是惭愧,打算从今日起开始养成写博客的习惯.作为一名java开发人员,Spring是永远绕不过的话题,它的设 ...

随机推荐

  1. poj3694(tarjan缩点+lca)

    传送门:Network 题意:给你一个连通图,然后再给你n个询问,每个询问给一个点u,v表示加上u,v之后又多少个桥. 分析:方法(1219ms):用并查集缩点,把不是桥的点缩成一个点,然后全图都是桥 ...

  2. java泛型 之 入门(interface)

    一:泛型简单介绍: (1)所谓泛型,就是变量类型的參数化. 泛型是JDK1.5中一个最重要的特征.通过引入泛型,我们将获得编译时类型的安全和执行时更小的抛出ClassCastException的可能. ...

  3. 基于Java的开源CMS系统选择(转)

    CMS概述 对于网站CMS系统而言,基于PHP的是主流,如Drupal/Joomla在各个主流虚拟机提供商上都是标准配置,也被广泛使用. 但如果你拥有Java团队,或者项目目标是想建立一个企业网使用的 ...

  4. 单片机实验: 三轴磁场模块 GY-271

    最近买了一块三轴磁场模块进行实验 名称:HMC5883L模块(三轴磁场模块) 型号:GY-271 使用芯片:HMC5883L 供电电源:3-5v 通信方式:IIC通信协议 测量范围:±1.3-8 高斯 ...

  5. 高版本jQuery设置checkbox状态注意事项

    jQuery 1.9 以后, 使用 .attr(“checked”, true) 或  attr(“checked”, “checked”) 将无法正确设置 checkbox的状态, 同样的, 使用 ...

  6. 设计模式六大原则-OCP

    开闭原则(Open Closed Principle)是Java世界里最基础的设计原则,它指导我们如何建立一个稳定的.灵活的系统. 定义: 一个软件实体如类.模块和函数应该对扩展开放,对修改关闭. S ...

  7. c++进阶

    对网络编程/多线程/系统编程有一定了解:4:对ngnix,redis,memcache有一定了解:5:有高并发服务开发经验优先: 因为C/C++在嵌入式.移动互联网.物联网有很大的优势,有很多人就靠一 ...

  8. MYSQL中的字符串连接符

    update `table` set nsdf = concat('a','b') where id=137

  9. Node.js v0.10.31API手冊-控制台

    Node.js v0.10.31API手冊-文件夹 控制台 Object 用于向 stdout 和 stderr 打印字符.类似于大部分 Web 浏览器提供的 console 对象函数,在这里则是输出 ...

  10. Python学习入门基础教程(learning Python)--3.3.3 Python逻辑关系表达式

    在if分支判断语句里的条件判断语句不一定就是一个表达式,可以是多个(布尔)表达式的组合关系运算,这里如何使用更多的关系表达式构建出一个比较复杂的条件判断呢?这里需要再了解一下逻辑运算的基础知识.逻辑关 ...