文件的基本操作:(更多

fopen():文件打开
$file = fopen("file.txt","r+");

fopen()函数的参数是目标文件的路径和文件的读写模式;同时fopen函数也会在打开文件时候发现没有文件会自动创建一个文件但是模式必须是读写或写入的模式

fread():文件读取
fread($file,filesize("file.txt"));

fread()函数的参数是需要读取的文件和文件读取的最大字节数

fgets():读取单行文件
fgets($file);

读取文件中的单行文字,没读取一次就会将文件指针指向下一行的首部

fgetc():读取单个字符
fgetc($file);

fgetc()函数将会逐个字符的读取内容输出;常见的是结合while循环输出,利用EOF检查函数feof()来控制循环

fclose():文件关闭
fclose($file);

文件一旦被打开在原则上一定要在使用后关闭它

fopen()函数打开的文件赋值给一个变量file,相当于file就是文件的地址指针,fread()函数依据file的地址指针可以找到自己需要读取的文件(同理,在fread()函数中可以直接使用fopen()函数,直接打开文件,告诉fread()文件地址,然后函数执行自己的人物)

PHP文件检查(EOF):
feof():检查是否达到文件尾部
feof($file);

feof()函数的主要功能是检查文件中的指针是否到达文件末尾,可以借此来解决未知大小的文件读写防止越界的问题

fwrite():写入文件
	<?php
$file = fopen("/File.txt","w");// w:文件写入模式;如果没有该文件就会自动创建文件
$txt = "Chinawangyuyang\r\nGMAIL.com";//以String类写入,并运用转义转义字符实现简单排版
fwrite($file, $txt);//参数:写入路径,写入的内容
fclose($file);
?>

fwrite()函数参数主要是写入的文件地址和需要写入的字符串或字符类型的变量

注意: 文件写入和文件的操作(读写)模式有着非常重要的关系;fwrite()函数只负责向文件写入数据,而fopen()函数每次打开文件的时候就会将指针指向文件首部或是直接将新的数据覆盖原有的所有数据或部分数据;所以我们在对现有文件不覆盖进行文件数据增删的时候需要注意fopen()函数选择的读写模式为追加或者是指定文件指针的位置,从指针位置开始写入数据信息;

其它文件函数:

file_exists():文件是否存在
file_exists("file.txt");

(不打开文件)检测文件是否存在;参数是文件的相对或绝对地址路径;返回布尔值

filesize():文件字节大小
filesize("file.txt");

检测文件的字节大小,参数是文件的相对或绝对地址路径;

unlink():删除文件
unlink("file.txt");

删除指定的文件;参数是文件的相对或绝对地址路径;返回布尔值

文件指针定位:
rewind():首部
  • 将文件指针复位到文件的首部
ftell():返回位置
  • 将文件指针的当前位置返回
fseek():指定位置
  • 将指针移动到指定的位置

    int fseek( resource fp , int offset [, int whence]);

    fseek()函数主要的功能是将文件指针fp从whence位置移动offset字节;(whence默认是文件首部 [SEEK_SET];当前指针位置[SEEK_CUR];文件尾部 [SEEK_END])

flock():文件锁定
bool flock( resource fp , int operation [, int &wouldblock]);

*通过flock()函数来完成对文件锁定;主要参数有:指定文件指针,以及一个需要锁定类型的常数;返回布尔值(是否成功锁定文件);

PHP文件基础操作的更多相关文章

  1. Python文件基础操作(IO入门1)

    转载请标明出处: http://www.cnblogs.com/why168888/p/6422270.html 本文出自:[Edwin博客园] Python文件基础操作(IO入门1) 1. pyth ...

  2. php之文件基础操作

    在php中对文件的基础操作非常的简单,php提供的函数粗略的用了一遍. file_get_contents():可以获取文件的内容获取一个网络资源的内容,这是php给我封装的一个比较快捷的读取文件的内 ...

  3. python编辑修改haproxy配置文件--文件基础操作

    一.需求分析 有查询,删除,添加的功能 查询功能:查询则打印查询内容,如果不存在也要打印相应的信息 删除功能:查询到要删除内容则删除,打印信息. 添加功能:同上. 二.流程图 三.代码实现 本程序主要 ...

  4. Python 第三篇(上):python文件基础操作、json模块、lambda、map、filter、reduce和函数位置参数

    python一切皆对象,linux一切皆文件,python操作文件是很常见的O/I操作,其内置来open()函数可以完成文件的基本操作: 一:使用内置open()函数操作文件,基本语法如下: with ...

  5. Python之路 day2 文件基础操作

    #!/usr/bin/env python # -*- coding:utf-8 -*- #Author:ersa ''' #f,文件句柄;模式 a : append 追加文件内容 f = open( ...

  6. Linux目录结构及文件基础操作

    一.Linux目录结构 windows系统中主要以存储介质为主(磁盘). UNIX和Linux系统中主要是以目录为主(以树形目录结构的形式构建整个系统). 1. FHS(Filesystem Hier ...

  7. delphi 基础之三 文件流操作

    文件流操作 Delphi操作流文件:什么是流?流,简单来说就是建立在面向对象基础上的一种抽象的处理数据的工具.在流中,定义了一些处理数据的基本操作,如读取数据,写入数据等,程序员是对流进行所有操作的, ...

  8. day08文件操作的三步骤,基础的读,基础的写,with...open语法,文件的操作模式,文件的操作编码问题,文件的复制,游标操作

    复习 ''' 类型转换 1.数字类型:int() | bool() | float() 2.str与int:int('10') | int('-10') | int('0') | float('-.5 ...

  9. ndk学习之c++语言基础复习----C++容器、类型转换、异常与文件流操作

    继续来复习C++,比较枯燥,但是这是扎实掌握NDK开发的必经之路,不容小觑. 容器: 容器,就是用来存放东西的盒子. 常用的数据结构包括:数组array, 链表list, 树tree, 栈stack, ...

随机推荐

  1. JAVA遍历机制的性能的比较

        本文首发于cartoon的博客     转载请注明出处:https://cartoonyu.github.io/cartoon-blog/post/java/java%E9%81%8D%E5% ...

  2. Java核心技术(卷一)读书笔记——第二章(JAVA/JDK环境配置)

    JDK 配置:自行百度. 存在多个JDK 版本并且需要指定某版本时,注意更改注册表JavaSoft项以及相关子项,同时删除system32目录下相关的Java可执行文件xxx.exe. IDEA打开项 ...

  3. angularjs通信以及postmessage与iframe通信

    这篇文章是用markdown工具写的,有需要的可以使用vscode打开   # angularjs 控制器.组件之间的通信 ## 一.基于事件的方式 此方式下,主要通过 angularjs 内置指令` ...

  4. Github上fork的项目如何merge原Git项目

    问题场景 小明在Github上fork了一个大佬的项目,并clone到本地开发一段时间,再提交merge request到原Git项目,过了段时间,原作者联系小明,扔给他下面这幅截图并告知合并处理冲突 ...

  5. LFS8.3BOOT引导疑点解决

    LFS系统 的BOOT引导 在LFS书中写到的BOOT引导,时直接将宿主机的BOOT分区挂载当LFS的BOOT分区中,虽然这样也是可以实现BOOT引导的,但是我并不想这样做,所以BOOT引导就变得有些 ...

  6. JavaFX OnMouseClick

    在JavaFX开发环境中,遇到一些坑是难免的,而且资料少得可怜! 先说一下我遇到的问题 : 只是一个点击事件而已 : 首先我有这么个界面 : 接下来呢 ? 我需要点击右上角的X,然后显示遮罩,弹出对话 ...

  7. spark shuffle读操作

    提出问题 1. shuffle过程的数据是如何传输过来的,是按文件来传输,还是只传输该reduce对应在文件中的那部分数据? 2. shuffle读过程是否有溢出操作?是如何处理的? 3. shuff ...

  8. JSmooth 将java代码打包成exe

    JSmooth 将java代码打包成exe 前言 java代码写了这么多了,但由于jdk的限制,我只能在jdk电脑上运行项目.所以最近在研究打包exe这个问题,今天终于实现了. JSmooth下载 前 ...

  9. 三层架构(MVC)实现简单登陆注册验证(含验证码)

    前言在我的上一篇微博里我已经提出了登陆的方法,当时我采取的是纯servlet方式,因为当时刚接触到servlet,正好网上没有这方面的全面讲解,所以我就发飙了.不过在现实生产中我们大多采用的三层架构. ...

  10. 第三方登录之QQ

    public class MainActivity extends AppCompatActivity { private Button btn; private TextView tv; priva ...