php面向对象(文件操作)
文件操作
1.只能操作服务器的文件
2.文件包含目录和文件
判断文件类型
var_dump(filetype("../0529")); //返回文件的类型:目录dir 文件file,
var_dump(is_dir("../11.php")); //判断路径是不是目录,返回布尔类型
var_dump(is_file("../11.php")); //判断路径是不是文件,返回布尔类型
文件属性
echo date("Y-m-d H:i:s",fileatime("../11.php")); //上次访问时间 返回一个时间戳,使用data格式化
echo date("Y-m-d H:i:s",filectime("../11.php")); //创建时间
echo date("Y-m-d H:i:s",filemtime("../11.php")); //修改时间
echo filesize("../11.php"); //文件大小,字节为单位
var_dump(file_exists("../12.php")); //判断文件是否存在
文件路径
当前路径:./ 上级目录:../ 下级目录:目录/ 根路径:/
如果是php里面的根(/)路径代表:磁盘的根
如果是在网页里面的根(/)路径代表:服务器的根(www目录)
echo $_SERVER['DOCUMENT_ROOT']; //取服务器的根路径
echo basename("../11.php"); //从路径中获取带后缀的文件名
echo basename("../11.php",".php"); //从路径中获取不带后缀的文件名
echo dirname("../0529/aa.php"); //取径中除去文件名的目录
var_dump(pathinfo("../0529/aa.php")); //返回目录信息,格式为数组
echo realpath("../0529/aa.php"); //将相对路径转化为绝对路
操作目录
var_dump(glob("../tp/*.php")); //获取目录下所有的文件* 某个后缀的*.php 通过遍历 glob 输出子文件
$attr = glob("../tp/*");
for($i=0;$i<count($attr);$i++){
echo $attr[$i]."<br>";
}
使用目录资源
$dir = opendir("");打开资源目录
closedir($dir) ;关闭资源目录
readdir($dir);读取目录下的文件,执行一次读一个
rewinddir($dir); 指针返回最初
通过目录资源遍历
echo readdir($dir); //读取目录下的文件,执行一次读一个
$dir = opendir("../tp"); //打开目录资源
while($wj = readdir($dir)){
echo $wj."<br>";
}
closedir($dir); //关闭目录资源
rewinddir($dir);//将指针重置
注意:
使用readdir()读取的第一个和第二个内容
第一个是. 代表当前目录
第二个是.. 代表上级目录
在使用目录资源遍历文件夹的时候要注意将前两个排除
目录操作
1.创建目录(文件夹)
mkdir("./test");
2.删除目录(文件夹)只能删除空的文件夹
rmdir("./test");
3.移动目录(文件夹)
rename("./test","../test11");
文件操作
touch("./test.txt");//创建文件
copy("./test.txt","../test.txt"); //复制文件
unlink("./test.docx"); //删除文件
(file_exists(
echo file_get_contents("./test.txt"); //获取文件内容:txt 页面
echo file_get_contents("http://www.baidu.com"); //远程获取内容
file_put_contents("./test.txt","hello"); //向文件写入内容
readfile("./test.txt"); //获取文件内容并且直接输出
var_dump(file("./test.txt")); //读取文件内容,返回数组,数组的每个元素对应的是一行
对文件内容进行操作
//1.打开文件资源
$fp = fopen("./test.txt","a");
//操作文件
echo fgetc($fp); //每次读一个字符
while(!feof($fp)) //判断文件是否读到末尾
{
echo fgetc($fp);
}
echo fgets($fp); //每次读一行
echo fgets($fp);
echo fread($fp,10); //读取特定长度
$str = "ni hao dhakhdak \r\n akdhka";
$str = iconv("utf-8","gb2312",$str);
fwrite($fp,$str);
//2.关闭文件资源
fclose($fp);
文件操作
写入字节数 = File_put_contents(文件地址, 内容)
写,文件不存在,自动创建。
默认为替换写:
支持使用追加写:
第三个参数使用FILE_APPEND常量表示:
File_get_contents(文件地址)
读
当操作的文件过大时?
不能一次性操作全部文件内容。上面的函数不适用!
使用下面的函数完成处理:
Fopen();打开文件句柄(PHP与文件间数据流通道)
参数1:文件地址
参数2:打开方式(模式),打开文件后希望完成那种操作,可以在模式位置进行限制。
PHP提供了如下一些的打开模式:
R(read)读模式
W(write)替换写模式,将文件内容清零,自动创建不存在的文件。
A(append)追加写模式
X 替换写,不会自动创建不存在的文件。(只能打开已经存在的文件)
+扩展,扩展了操作。
R+ 读写模式,将文件指针放在文件开头。
W+ 读替换写模式,将文件内容清零,将文件指针放在文件开头,自动创建不存在的文件。
A+ 读追加写模式,写操作永远在文件末尾,读操作受限于文件指针。
X+ 读替换写模式,将文件内容清零,将文件指针放在文件开头,不会自动创建不存在的文件。(只能打开已经存在的文件)
在都可以执行读写时,差异在于,打开文件时,初始化的工作不同,针对初始化的文件指针位置,文件内容。
Fread(文件句柄, 长度);读取,读取指定长度的字符串内容(单位字节)
Tip:长度是有个最大值。为8192个字节。
Fgets(文件句柄,长度);读取,读取指定长度的字符串
长度,指的是会读取长度-1个字节。
除了长度外,行末也是该函数的终止读操作条件。取决于先满足那个条件。
因此也称读行函数。最常用。fgetS($handle, 1024)
fgetC(文件句柄);读取,一次读取一个字节的数据
读取指针位置字符,操作时会移动指针。
fwrite(文件句柄,写入内容);写,在指定位置写入内容,通常由文件指针来指示,如果是a模式,不论指针在哪里,只能在末尾写。
如果w:
fclose();
关闭句柄
Ftell()
获取指针位置
Fseek()
设置指针位置
R+:
读写都受指针影响。写替换掉原有字节写。
W+:
清空内容
A+/a:
指针位置具有不确定因素。
A+,读受指针影响,写就是追加。
Filemtime(文件地址)
文件的最后修改时间。
Filesize(文件地址)
统计目录大小。
php面向对象(文件操作)的更多相关文章
- Python面向对象之文件操作
文件的概念 文件的概念和作用 计算机的文件,就是存储在某种长期存储设备上的一段数据:长期存储设备包括:U盘,硬盘,移动硬盘,光盘,等: 文件的作用:将数据长期保存,在需要的时候使用: 文件的存储方式 ...
- python 函数初识和文件操作
文件操作 打开文件:文件句柄 = open('文件路径', '模式') 打开文件的模式 w #以写的方式打开 (不可读,不存在则创建,存在则删除内容) a #以追加的模式打开(可读, 不存在则创建 ...
- php 目录及文件操作
// bool is_dir(string $filename) 判断给定文件名是否是一个目录.// resource opendir(string $path[,resource $context] ...
- 第三天 函数 三元运算 lambda表达式 内置函数 文件操作
面向过程: 直接一行一行写代码,遇到重复的内容复制黏贴. 不利于代码阅读 代码没有复用 面向对象 将代码块定义为函数,以后直接调用函数 增强了复用性 函数的定义方法 def 函数名(传递参数): 函数 ...
- 第三章:Python基础の函数和文件操作实战
本課主題 Set 集合和操作实战 函数介紹和操作实战 参数的深入介绍和操作实战 format 函数操作实战 lambda 表达式介绍 文件操作函数介紹和操作实战 本周作业 Set 集合和操作实战 Se ...
- Python爬虫与数据分析之进阶教程:文件操作、lambda表达式、递归、yield生成器
专栏目录: Python爬虫与数据分析之python教学视频.python源码分享,python Python爬虫与数据分析之基础教程:Python的语法.字典.元组.列表 Python爬虫与数据分析 ...
- python 历险记(三)— python 的常用文件操作
目录 前言 文件 什么是文件? 如何在 python 中打开文件? python 文件对象有哪些属性? 如何读文件? read() readline() 如何写文件? 如何操作文件和目录? 强大的 o ...
- python递归、collections系列以及文件操作进阶
global log 127.0.0.1 local2 daemon maxconn log 127.0.0.1 local2 info defaults log global mode http t ...
- VS2010/MFC编程入门之四十五(MFC常用类:CFile文件操作类)
上一节中鸡啄米讲了定时器Timer的用法,本节介绍下文件操作类CFile类的使用. CFile类概述 如果你学过C语言,应该知道文件操作使用的是文件指针,通过文件指针实现对它指向的文件的各种操作.这些 ...
随机推荐
- python代码统计
代码统计 修改filename为文件夹or文件地址,然后统计所有python文件代码 import os import sys def count_code_lines(filename): res ...
- threejs行星运动小demo总结
1.动画构思 就是中间有个红太阳,外面有几个行星球体环绕着太阳在各自轨道上做圆周运动.下面是效果图 2.基本要素 使用threejs的基本构件包括:渲染器(renderer),相机(camera),场 ...
- WAMP本地环境升级php版本操作步骤(详细)
php版本下载地址:http://windows.php.net/download/ 步骤:下载php版本-解压文件-放到bin/php目录下-更改文件 图片教程: 更改文件内容: 1.从已存在的ph ...
- 【洛谷】P2568 GCD
前言 耻辱,我这个OI界的耻辱! 题目描述 给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的数对(x,y)有多少对.输入格式 一个整数N输出格式答案输入输出样例 输入 4 ...
- BAT文件语法和技巧(bat文件的编写及使用)
比较有用的东西 首先,批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部分时候就好象我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(no ...
- PKUWC2020 游记
因为CSP-S挂的并不厉害,蜜汁来到了PKU,所以有了这篇游记. DAY 0 上午在机房颓废,中途还整了一个出校证. 九点多,两个THU的大神去拿笔记本和手机颓废了,不久被两个教练拉着和kx跑了出去. ...
- 值得H5前端学习的60个JS插件(含DEMO演示)
下面也可以说是H5前端学习的js插件大全.基本包含了大部分的前端最前沿的js插件和库. 布局 SuperEmbed.js- 是一个Javascript库,可检测出网页上的内嵌视频并使他们能够变成响应式 ...
- 【java/Json】用Java对象构建Json语法树
本文后续:https://www.cnblogs.com/xiandedanteng/p/11973129.html 编译第一步:将文本解析成Java对象构成的语法树 第二步:将语法树输出整形好的Js ...
- 空指针异常 自动拆箱 防止 NPE,是程序员的基本修养 本手册明确防止 NPE 是调用者的责任。
空指针异常 空指针异常是指java中的异常类. 中文名 空指针异常 外文名 NullPointerException 当应用程序试图在需要对象的地方使用 null 时,抛出该异常.这种情况包括: ...
- matplotlib实战
plt.imshow(face_image.mean(axis=2),cmap='gray') 图片灰度处理¶ size = (m,n,3) 图片的一般形式就是这样的 rgb 0-255 jpg图 ...