前端PHP入门-028-文件操作-掌握级别
作为刚入门我们员经常会干的意见事情是ctrl+c和ctrl+v,鼠标右键删除文件、会control+c(或右键)复制、粘贴文件以及新建文件,还可以设置文件的是否为只读文件等等
- 可不可以写入修改配置文件?
- 是不是可以做PHP安装的时候检测文件的权限
- 是不是可以做生成Html文件等等很多不同的操作
对于美工的各位同学,可能不太好理解,也就是说让程序去控制文件的操作,让我们变的更懒一些
读取文件
掌握函数的使用
readfile 读取文件
int readfile ( string $文件名)
掌握函数的使用
int readfile ( string $文件名)
功能: 传入一个文件路径,输出一个文件。
代码演示:
只要传入文件名或者指定的文件路径就把文件读取出来了
<?php//linux类的读了方式,它没有盘符的概念readfile("/home/paul/pangsir.txt");//windows类的读取方式,有的新机器是不允许读取根目录下的文件readfile("d:\\pangsir.html");//个人习惯这种//readfile("d:/pangsir.html");?>
运行效果:

注意:上面的代码中windows的斜线是 \\ 斜线,可能会转义掉一些字符。因此,我们写的时候写上两个斜线。
问题: 我们学习过的特殊字符和转义字符有哪些?
file_get_contents 打开文件
单纯打文件就直接输出了,有没有打开文件后,能够赋值给一个变量的操作方式呢?
string file_get_contents ( string filename)
功能:
传入一个文件或文件路径,打开这个文件返回文件的内容。
文件的内容是一个字符串。
<?php$filename = 'd:/pangsir.html';$filestring = file_get_contents($filename);echo '我要输出了--->>>>';echo $filestring;?>
就打开了一个文件,并且将文件当中的内容进行了输出。

扩展代码:注意因为我使用的是html文件,有的时候是有问题的呵呵!
<?php//假设我们有一个多行的文件叫pangsir.html,没有的话你可以新建一个这个文件$filename = 'd:/pangsir.html';//打开这个文件,将文件内容赋值给$filestring$filestring = file_get_contents($filename);//因为每一行有一个回车即\n,我用\n来把这个字符串切割成数组$filearray = explode("\n", $filestring);//把切割成的数组,下标赋值给$key,值赋值给$val,每次循环将$key加1。while (list($key, $val) = each($filearray)) {++$key;$val = trim($val);//用的单引号,单引号不解释变量进行了拼接而已print 'Line' . $key .':'. $val.'<br />';}?>
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 | 只读方式打开,将文件指针指向文件头。 |
| r+ | 读写方式打开,将文件指针指向文件头。 |
| w | 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建 |
| w+ | 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建 |
| a | 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建 |
| a+ | 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之 |
| x | 创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建 |
| x+ | 创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建 |
这个好好记住,很有用!
接触学习 r模式 ,下结课我们在将写入的时候再来讲讲其他几个模式
1.打开文件
<?php//你可以创建一个NoAlike.txt,以只读模式打开$fp = fopen('pangsir.txt', "r");//var_dump()操作一下$fp看看效果,输出的是不是只有类型提示的是resourcevar_dump($fp);?>
2.读取文件
<?php$fp = fopen('pangsir.txt', "r");//打开一个文件类型后,读取长度$contents = fread($handle, 1024);?>
3.关闭文件
<?php$fp = fopen($filename, 'r');$contents = fread($fp, 1024);fclose($fp);echo $contents;?>
其他注意事项:
| 模式 | 说明 |
|---|---|
| t | windows下将\n转为\r\n |
| b | 二进制打开模式 |
前端PHP入门-028-文件操作-掌握级别的更多相关文章
- 前端PHP入门-029-文件操作-掌握级别
人生只有三天,活在昨天的人迷惑:活在明天的人等待:活在今天的人最踏实.你永远无法预测意外和明天哪个来得更早,所以,我们能做的,就是尽最大的努力过好今天.请记住:今天永远是昨天死去的人所期待的明天. f ...
- Python入门篇-文件操作
Python入门篇-文件操作 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.文件IO常用操作 open:打开 read:读取 write:写入 close:关闭 readlin ...
- 前端学PHP之文件操作
× 目录 [1]文件类型 [2]文件属性 [3]目录路径[4]目录遍历[5]目录统计[6]目录增删[7]目录复制[8]文件操作[9]文件内容 前面的话 在程序运行时,程序本身和数据一般都存在内存中,当 ...
- 前端学PHP之文件操作(认真读读)
前面的话 在程序运行时,程序本身和数据一般都存在内存中,当程序运行结束后,存放在内存中的数据被释放.如果需要长期保存程序运行所需的原始数据,或程序运行产生的结果,就需要把数据存储在文件或数据库.一般地 ...
- 前端PHP入门-032-异常处理-应用级别
禁止显示错误 在php.ini配置文件中.我们可以控制php的错误显示状态. php.ini中有一个专门的配置项: display_errors 这个选项设置是否将错误信息输出到网页,或者对用户隐藏而 ...
- Androlid入门之文件系统操作(三)文件读写
import java.io.*; import android.app.Activity; import android.os.Bundle; import android.view.Vi ...
- 003-Tuple、Array、Map与文件操作入门实战
003-Tuple.Array.Map与文件操作入门实战 Tuple 各个元素可以类型不同 注意索引的方式 下标从1开始 灵活 Array 注意for循环的until用法 数组的索引方式 上面的for ...
- Python学习入门基础教程(learning Python)--5.6 Python读文件操作高级
前文5.2节和5.4节分别就Python下读文件操作做了基础性讲述和提升性介绍,但是仍有些问题,比如在5.4节里涉及到一个多次读文件的问题,实际上我们还没有完全阐述完毕,下面这个图片的问题在哪呢? 问 ...
- Python 入门基础6 --字符编码、文件操作1
今日内容: 1.字符编码 2.字符与字节 3.文件操作 一.字符编码 了解: cpu:将数据渲染给用户 内存:临时存放数据,断电消失 硬盘:永久存放数据,断电后不消失 1.1 什么是编码? 人类能够识 ...
随机推荐
- mac 安装配置使用nexus3.x
一.nexus安装 前置条件 :已经安装了JDK 1:下载nexus(http://www.sonatype.com/download-oss-sonatype) 最新版本3.0,下载目录为/User ...
- 20181023-4 Beta阶段第1周/共2周 Scrum立会报告+燃尽图 01
作业要求:[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2383] 版本控制:[https://git.coding.net/lglr2 ...
- 王者荣耀交流协会-小组互评Alpha版本
小组分工如下: 1.探路者---贪吃蛇(测评人:王玉玲) 链接:http://www.cnblogs.com/WYLFZ/p/7805520.html http://www.cnblogs.co ...
- 针对某一网站的UI进行分析
本周课上教学通过对PM(项目经理)的学习,我了解到PM 对项目所有功能的把握, 特别是有关的UI内容.最差的UI, 体现了团队的组织架构:其次, 体现了产品的内部结构:最好, 体现了用户的自然需求. ...
- Kotlin在处理GET和POST请求的数据问题
1.网络请求获取到的数据流处理 java写法 BufferedReader br = new BufferedReader(new InputStreamReader(in, "utf-8& ...
- Destoon 模板存放规则 及 语法参考
模板存放规则及语法参考 一.模板存放及调用规则 模板存放于系统 template 目录,template 目录下的一个目录例如 template/default/ 即为一套模板 模板文件以 .htm ...
- 判断一个变量是不是json,以及如何将变量转换成json
https://blog.csdn.net/A123638/article/details/52486975这里看到一个很好的方法 // 判断变量是不是jsonisJson(variable: any ...
- sleep() 与 wait()的比较
1.这两个方法来自不同的类分别是,sleep来自Thread类,和wait来自Object类. sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线程里调用了b的sleep方法,实际上还 ...
- Oracle判断字段中是否包含中文(若有,取出该中文的方法)
一.问题说明 在处理数据的时候,需要判断某个字段字符串中是否有中文,若有则取出中文. 二.解决办法 首先如何判断某个字段字符串中是否有中文.这里介绍三种方法: 1.采用ASCIISTR函数 说明:AS ...
- 框架整合小小总结【SSH】注解式
Spring 注解式注册 bean: 大致分为以下几步: 开启 context 空间支持 开启自动扫描功能,指定扫描包路径 使用注解配置 bean (使用@Component 注解) 给 bean 注 ...