文件操作函数
2016-03-16 00:05
106 查看
1、文件测试函数
filetype() //文件or目录
is_dir() //判断是否是目录
is_file() //判断是否是文件
file_exsits() //文件或目录是否存在
filesize() //文件或目录大小(文件夹会本身占用4k)
2、文件操作
新建文件:
fopen($filename,"w");
//以"写"的方式打开一个不存在的文件,就会新建该文件
文件删除:
unlink();
文件复制:
copy($filename,"aaa/bb.txt");
尽量使用/和相对路径,因为Linux只认/,也没有磁盘分区,而Windows/和\都认
重命名文件:
rename($filename,"bb.txt");
文件移动(无专门移动函数,需先复制再删除原文件):
copy($filename,"aaa/bb.txt);
unlink($filename);
打开文件:
fopen($filename,"打开模式"); //返回一个资源;
打开模式:
r:只读方式打开,将文件指针指向文件头;
r+:读写方式打开,将文件指针指向文件头;
写:先写后读会覆盖内容(原:123456+abc=abc456),先读(指针已到最后)后写内容会接上以前的内容
读:r+模式写完后指针指针最后,此时用fread()读不到任何内容,只有通过移动指针rewind($fs)将指针移动到开头,才能读取全部内容
w:写入方式打开,将文件指针指向文件头并将文件大小截为零(清空原有内容),如果文件不存在则尝试创建之;
w+:读写方式打开,将文件指针指向文件头并将文件大小截为零(清空原有内容),如果文件不存在则创建文件;
a:写入方式(不能读)打开,将文件指针指向文件结尾(试验结果:ftell()返回为0),如果文
4000
件不存在则创建文件;
无法通过rewind()把内容写到前面,即只能在最后添加内容而不能修改任何内容
a+: 读写方式打开,将文件指针指向文件结尾(试验结果:ftell()返回为0)(直接读:不需要rewind()就可以读取全部内容)(写完再读:读之前需要用rewind()重置指针位置),如果文件不存在则创建文件;
无法通过rewind()把内容写到前面,即只能在最后添加内容而不能修改任何内容
关闭文件(关闭资源):
fclose($filename);
读取文件内容:
fread($fs,"读取长度"); //可配合filesize()读取全部内容
配合while($str=fread($fs,3)){}循环实现一段一段地读取,当返回的字符串为空时,表示已经读完,退出循环;缺点是碰到0或空字符串可能会提前退出循环;
或者使用feof($fs):判断指针是否已经到文件末尾,是则返回true
file(); //不需要资源
返回数组:一行字符为一个元素
readfile(); //不需要资源
直接输出内容,不能增删改,可输出图片
file_get_contents(); //不需要资源
可输出图片,nl2br()把换行符转换成<br/>
写入文件
fwrite($fs,3); //$fs是fopen返回的资源,读取3个字节,返回字符串,可用filesize($filename)代替,读取文件全部内容
file_put_contents(); //不需要资源
移动文件指针:
ftell($fs); //告诉你当前位置
fseek($fs,4,[,int
//到指定位置:4+whence
SEEK_SET=0;SEEK_SUR=1;SEEK_END=2
rewind(); //指针返回到文件开头
3、目录操作
创建目录
mkdir(); //成功返回true,否则false
删除目录
rmdir(); //目录必须为空,成功返回true,否则false
解析目录路径
basename(); //取路径最后的文件名
dirname(); //取路径最后的文件夹名
pathinfo();
parse_url(); //解析URL
parse_str();
readpath("./");
相对地址转成绝对地址//.文件夹(当前目录的绝对地址),..文件夹(上一级目录的绝对地址)
DIRECTORY_SEPARATOR;
//系统目录分隔符,windows下是\,Linux下是/
PATH_SEPARATOR;
路径分隔符:(分号)
__FILE__;
//输出该常量所在文件的绝对路径
遍历目录
opendir();
遍历一层目录,返回的是资源,失败返回false
想要遍历几层目录需要用:递归listDir(),(注意要过滤.和..两个文件夹,不然会死循环)
利用递归思想可以检测目录的大小:totalDir(),要返回的成员变量$total必须是静态变量
readdir();
读取目录;利用while循环可以读取目录下所有文件,循环条件:(返回值!=false)
closedir();
opendir()打开流之后关闭流
scandir();
统计磁盘空间大小
disk_free_space();
disk_total_space();
4、文件上传
5、多文件上传
6、文件下载
7、文件上传和下载系统
filetype() //文件or目录
is_dir() //判断是否是目录
is_file() //判断是否是文件
file_exsits() //文件或目录是否存在
filesize() //文件或目录大小(文件夹会本身占用4k)
2、文件操作
新建文件:
fopen($filename,"w");
//以"写"的方式打开一个不存在的文件,就会新建该文件
文件删除:
unlink();
文件复制:
copy($filename,"aaa/bb.txt");
尽量使用/和相对路径,因为Linux只认/,也没有磁盘分区,而Windows/和\都认
重命名文件:
rename($filename,"bb.txt");
文件移动(无专门移动函数,需先复制再删除原文件):
copy($filename,"aaa/bb.txt);
unlink($filename);
打开文件:
fopen($filename,"打开模式"); //返回一个资源;
打开模式:
r:只读方式打开,将文件指针指向文件头;
r+:读写方式打开,将文件指针指向文件头;
写:先写后读会覆盖内容(原:123456+abc=abc456),先读(指针已到最后)后写内容会接上以前的内容
读:r+模式写完后指针指针最后,此时用fread()读不到任何内容,只有通过移动指针rewind($fs)将指针移动到开头,才能读取全部内容
w:写入方式打开,将文件指针指向文件头并将文件大小截为零(清空原有内容),如果文件不存在则尝试创建之;
w+:读写方式打开,将文件指针指向文件头并将文件大小截为零(清空原有内容),如果文件不存在则创建文件;
a:写入方式(不能读)打开,将文件指针指向文件结尾(试验结果:ftell()返回为0),如果文
4000
件不存在则创建文件;
无法通过rewind()把内容写到前面,即只能在最后添加内容而不能修改任何内容
a+: 读写方式打开,将文件指针指向文件结尾(试验结果:ftell()返回为0)(直接读:不需要rewind()就可以读取全部内容)(写完再读:读之前需要用rewind()重置指针位置),如果文件不存在则创建文件;
无法通过rewind()把内容写到前面,即只能在最后添加内容而不能修改任何内容
关闭文件(关闭资源):
fclose($filename);
读取文件内容:
fread($fs,"读取长度"); //可配合filesize()读取全部内容
配合while($str=fread($fs,3)){}循环实现一段一段地读取,当返回的字符串为空时,表示已经读完,退出循环;缺点是碰到0或空字符串可能会提前退出循环;
或者使用feof($fs):判断指针是否已经到文件末尾,是则返回true
file(); //不需要资源
返回数组:一行字符为一个元素
readfile(); //不需要资源
直接输出内容,不能增删改,可输出图片
file_get_contents(); //不需要资源
可输出图片,nl2br()把换行符转换成<br/>
写入文件
fwrite($fs,3); //$fs是fopen返回的资源,读取3个字节,返回字符串,可用filesize($filename)代替,读取文件全部内容
file_put_contents(); //不需要资源
移动文件指针:
ftell($fs); //告诉你当前位置
fseek($fs,4,[,int
$whence= SEEK_SET]);
//到指定位置:4+whence
SEEK_SET=0;SEEK_SUR=1;SEEK_END=2
rewind(); //指针返回到文件开头
3、目录操作
创建目录
mkdir(); //成功返回true,否则false
删除目录
rmdir(); //目录必须为空,成功返回true,否则false
解析目录路径
basename(); //取路径最后的文件名
dirname(); //取路径最后的文件夹名
pathinfo();
parse_url(); //解析URL
parse_str();
readpath("./");
相对地址转成绝对地址//.文件夹(当前目录的绝对地址),..文件夹(上一级目录的绝对地址)
DIRECTORY_SEPARATOR;
//系统目录分隔符,windows下是\,Linux下是/
PATH_SEPARATOR;
路径分隔符:(分号)
__FILE__;
//输出该常量所在文件的绝对路径
遍历目录
opendir();
遍历一层目录,返回的是资源,失败返回false
想要遍历几层目录需要用:递归listDir(),(注意要过滤.和..两个文件夹,不然会死循环)
利用递归思想可以检测目录的大小:totalDir(),要返回的成员变量$total必须是静态变量
readdir();
读取目录;利用while循环可以读取目录下所有文件,循环条件:(返回值!=false)
closedir();
opendir()打开流之后关闭流
scandir();
统计磁盘空间大小
disk_free_space();
disk_total_space();
4、文件上传
5、多文件上传
6、文件下载
7、文件上传和下载系统
相关文章推荐
- SQL Server 2016的数据库范围内的配置详解
- InnoDB数据库死锁问题处理
- 原生JS实现平滑回到顶部组件
- 通过隐藏iframe实现无刷新上传文件操作
- Uploadify上传文件方法
- Javascript的表单验证长度
- Jquery技巧(必须掌握)
- 基于jQuery Tipso插件实现消息提示框特效
- Bootstrap每天必学之滚动监听
- javascript中arguments,callee,caller详解
- js实现内容显示并使用json传输数据
- js获取时间精确到秒(年月日)
- 神奇!js+CSS+DIV实现文字颜色渐变效果
- js纯数字逐一停止显示效果的实现代码
- 浅析AMD CMD CommonJS规范--javascript模块化加载学习心得总结
- 教你用javascript实现随机标签云效果_附代码
- 盘点javascript 正则表达式中 中括号的【坑】
- PHP安全-配置选项
- PHP安全-函数
- PHP安全-加密