作为刚入门我们员经常会干的意见事情是ctrl+c和ctrl+v,鼠标右键删除文件、会control+c(或右键)复制、粘贴文件以及新建文件,还可以设置文件的是否为只读文件等等

  • 可不可以写入修改配置文件?
  • 是不是可以做PHP安装的时候检测文件的权限
  • 是不是可以做生成Html文件等等很多不同的操作

对于美工的各位同学,可能不太好理解,也就是说让程序去控制文件的操作,让我们变的更懒一些

读取文件

掌握函数的使用

readfile 读取文件

int readfile ( string $文件名)

功能: 传入一个文件路径,输出一个文件。

代码演示:

只要传入文件名或者指定的文件路径就把文件读取出来了

  1. <?php
  2. //linux类的读了方式,它没有盘符的概念
  3. readfile("/home/paul/pangsir.txt");
  4. //windows类的读取方式,有的新机器是不允许读取根目录下的文件
  5. readfile("d:\\pangsir.html");
  6. //个人习惯这种
  7. //readfile("d:/pangsir.html");
  8. ?>

运行效果:

注意:上面的代码中windows的斜线是 \\ 斜线,可能会转义掉一些字符。因此,我们写的时候写上两个斜线。

问题: 我们学习过的特殊字符和转义字符有哪些?

file_get_contents 打开文件

单纯打文件就直接输出了,有没有打开文件后,能够赋值给一个变量的操作方式呢?

string file_get_contents ( string filename)

功能:

传入一个文件或文件路径,打开这个文件返回文件的内容。

文件的内容是一个字符串。

  1. <?php
  2. $filename = 'd:/pangsir.html';
  3. $filestring = file_get_contents($filename);
  4. echo '我要输出了--->>>>';
  5. echo $filestring;
  6. ?>

就打开了一个文件,并且将文件当中的内容进行了输出。

扩展代码:注意因为我使用的是html文件,有的时候是有问题的呵呵!

  1. <?php
  2. //假设我们有一个多行的文件叫pangsir.html,没有的话你可以新建一个这个文件
  3. $filename = 'd:/pangsir.html';
  4. //打开这个文件,将文件内容赋值给$filestring
  5. $filestring = file_get_contents($filename);
  6. //因为每一行有一个回车即\n,我用\n来把这个字符串切割成数组
  7. $filearray = explode("\n", $filestring);
  8. //把切割成的数组,下标赋值给$key,值赋值给$val,每次循环将$key加1。
  9. while (list($key, $val) = each($filearray)) {
  10. ++$key;
  11. $val = trim($val);
  12. //用的单引号,单引号不解释变量进行了拼接而已
  13. print 'Line' . $key .':'. $val.'<br />';
  14. }
  15. ?>

fopen、fread、fclose操作读取文件

file_get_contents打开文件的方式简单、粗暴。下面的

resource fopen ( string $文件名, string 模式)

string fread ( resource $操作资源, int 读取长度)

bool fclose ( resource $操作资源 )

通常操作方式:

1.打开资源

2.使用相关函数进行操作

3.关闭资源

fopen函数

fopen函数的功能是打开文件,参数主要有两个:

  • 文件打开的路径
  • 打开文件的模式

    返回类型是一个资源类型,我们第一次遇到了之前基础类型的时候讲到的资源类型。

    资源类型需要其他的函数来操作这个资源。所有的资源有打开就要有关闭。

fread函数

  • 函数的功能的功能是读取打开的文件资源。
  • 读取指定长度的文件资源,读取一部份向后移动一部份。
  • 至到文件结尾。

fclose函数

  • fclose函数的功能是关闭资源。
  • 资源有打开就有关闭。
模式 说明
只读方式打开,将文件指针指向文件头。
r+ 读写方式打开,将文件指针指向文件头。
w 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建
w+ 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建
a 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建
a+ 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之
x 创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建
x+ 创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建

这个好好记住,很有用!

接触学习 r模式 ,下结课我们在将写入的时候再来讲讲其他几个模式

1.打开文件

  1. <?php
  2. //你可以创建一个NoAlike.txt,以只读模式打开
  3. $fp = fopen('pangsir.txt', "r");
  4. //var_dump()操作一下$fp看看效果,输出的是不是只有类型提示的是resource
  5. var_dump($fp);
  6. ?>

2.读取文件

  1. <?php
  2. $fp = fopen('pangsir.txt', "r");
  3. //打开一个文件类型后,读取长度
  4. $contents = fread($handle, 1024);
  5. ?>

3.关闭文件

  1. <?php
  2. $fp = fopen($filename, 'r');
  3. $contents = fread($fp, 1024);
  4. fclose($fp);
  5. echo $contents;
  6. ?>

其他注意事项:

模式 说明
t windows下将\n转为\r\n
b 二进制打开模式

前端PHP入门-028-文件操作-掌握级别的更多相关文章

  1. 前端PHP入门-029-文件操作-掌握级别

    人生只有三天,活在昨天的人迷惑:活在明天的人等待:活在今天的人最踏实.你永远无法预测意外和明天哪个来得更早,所以,我们能做的,就是尽最大的努力过好今天.请记住:今天永远是昨天死去的人所期待的明天. f ...

  2. Python入门篇-文件操作

    Python入门篇-文件操作 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.文件IO常用操作 open:打开 read:读取 write:写入 close:关闭 readlin ...

  3. 前端学PHP之文件操作

    × 目录 [1]文件类型 [2]文件属性 [3]目录路径[4]目录遍历[5]目录统计[6]目录增删[7]目录复制[8]文件操作[9]文件内容 前面的话 在程序运行时,程序本身和数据一般都存在内存中,当 ...

  4. 前端学PHP之文件操作(认真读读)

    前面的话 在程序运行时,程序本身和数据一般都存在内存中,当程序运行结束后,存放在内存中的数据被释放.如果需要长期保存程序运行所需的原始数据,或程序运行产生的结果,就需要把数据存储在文件或数据库.一般地 ...

  5. 前端PHP入门-032-异常处理-应用级别

    禁止显示错误 在php.ini配置文件中.我们可以控制php的错误显示状态. php.ini中有一个专门的配置项: display_errors 这个选项设置是否将错误信息输出到网页,或者对用户隐藏而 ...

  6. Androlid入门之文件系统操作(三)文件读写

         import java.io.*; import android.app.Activity; import android.os.Bundle; import android.view.Vi ...

  7. 003-Tuple、Array、Map与文件操作入门实战

    003-Tuple.Array.Map与文件操作入门实战 Tuple 各个元素可以类型不同 注意索引的方式 下标从1开始 灵活 Array 注意for循环的until用法 数组的索引方式 上面的for ...

  8. Python学习入门基础教程(learning Python)--5.6 Python读文件操作高级

    前文5.2节和5.4节分别就Python下读文件操作做了基础性讲述和提升性介绍,但是仍有些问题,比如在5.4节里涉及到一个多次读文件的问题,实际上我们还没有完全阐述完毕,下面这个图片的问题在哪呢? 问 ...

  9. Python 入门基础6 --字符编码、文件操作1

    今日内容: 1.字符编码 2.字符与字节 3.文件操作 一.字符编码 了解: cpu:将数据渲染给用户 内存:临时存放数据,断电消失 硬盘:永久存放数据,断电后不消失 1.1 什么是编码? 人类能够识 ...

随机推荐

  1. Vue工作原理小结

    本文能帮你做什么?1.了解vue的双向数据绑定原理以及核心代码模块2.缓解好奇心的同时了解如何实现双向绑定为了便于说明原理与实现,本文相关代码主要摘自vue源码, 并进行了简化改造,相对较简陋,并未考 ...

  2. Manacher算法——求最长回文子串

    首先,得先了解什么是回文串.回文串就是正反读起来就是一样的,如“abcdcba”.我们要是直接采用暴力方法来查找最长回文子串,时间复杂度为O(n^3),好一点的方法是枚举每一个字符,比较较它左右距离相 ...

  3. 团队backlog和燃尽图

    首先我们的团队的任务是做一款一对一交流的软件,我们团队的backlog如下: 用电脑搭建一个服务器一对一平台 实现数据库和Android的链接 编写登陆,注册页面,和登陆成功界面,和登陆失败页面 实现 ...

  4. 团队介绍 you i

    我们团队一共四个人,我们足够了解对方的优缺点,能够很好的进行交流沟通.对于一些问题也能有好的方法去解决,我做事情比较讲究高效和尽可能的完美,或者说要做到我自己觉得完美,才会停下来.对于一件事情,我有自 ...

  5. lintcode-206-区间求和 I

    206-区间求和 I 给定一个整数数组(下标由 0 到 n-1,其中 n 表示数组的规模),以及一个查询列表.每一个查询列表有两个整数 [start, end] . 对于每个查询,计算出数组中从下标 ...

  6. 关于Filter的一点误解

    之前一直以为请求达到Web应用时,经过过滤器1,过滤器2……,处理后产生响应再经过过滤器n……过滤器2,过滤器1.这样的阐述似乎没有问题,但我的理解却有问题.比如过滤器1的doFilter方法执行了一 ...

  7. Java compiler level does not match the version of the installed Java project facet. map解决方法

    右键项目"Properties",在弹出的"Properties"窗口左侧,单击"Project Facets",打开"Proje ...

  8. CA如何吊销签署过的证书

    1: 客户端获取要吊销证书的serial(在使用证书上的主机执行) openssl x509 -in httpd.crt -noout -serial -subject   2:拿到证书的编号后,通过 ...

  9. SSM整合CRUD操作(一)

    http://www.cnblogs.com/loger1995/p/6352179.html?utm_source=itdadao&utm_medium=referral 说明:这是我刚开始 ...

  10. C语言 aabbcc、abc、fabc、aabc

    输入一个字符串,匹配字符串中连续出现的字符串.并且连续个数相等 如输入 aabbcc.abc.fabc.aabc.aabbc 分别输出yes还是no #include<stdio.h>#i ...