基于PHP文件操作的详细诠释


Posted in PHP onJune 21, 2013
$path1= "E:/myphp/text.txt";
if(!file_exists($path1)){
 echo "文件不存在!";
}else{
 $handle1 = fopen($path1, 'r+') or exit("Unable to open file");
// while (!feof($handle1)){
//  echo fgets($handle1)."<br>";
// }
    while(!feof($handle1)){
     echo fgetc($handle1);
    }
}

上面的代码阐释了一个简单的文件读取操作。说明下:
fopen是打开文件资源。
使用方法:
$file=fopen("welcome.txt","r");
具体意思:第一个参数是文件的路径。后面的参数是要求用何种方式打开文件,有下面几种类型:
r  只读。在文件的开头开始。
r+  读/写。在文件的开头开始。
w  只写。打开并清空文件的内容;如果文件不存在,则创建新文件。
w+  读/写。打开并清空文件的内容;如果文件不存在,则创建新文件。
a  追加。打开并向文件文件的末端进行写操作,如果文件不存在,则创建新文件。
a+  读/追加。通过向文件末端写内容,来保持文件内容。
x  只写。创建新文件。如果文件已存在,则返回 FALSE。
x+  
读/写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。

注释:如果 fopen() 无法打开指定文件,则返回 0 (false)。
比较常用的是前面的4个。
fgetc:
string fgetc ( resource$handle )
返回一个包含有一个字符的字符串,该字符从 handle 指向的文件中得到。碰到 EOF 则返回FALSE。

fgets:
string fgets ( int$handle [,int$length ] )
从 handle 指向的文件中读取一行并返回长度最多为length - 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(看先碰到那一种情况)。如果没有指定length,则默认为 1K,或者说 1024 字节。
出错时返回 FALSE。

fgetss:
string fgetss ( resource$handle [,int$length [,string$allowable_tags ]] )
和 fgets() 相同,只除了 fgetss 尝试从读取的文本中去掉任何 HTML 和 PHP 标记。(跟fgets()相同,只是他过滤了html和php的标记而已。)
可以用可选的第三个参数指定哪些标记不被去掉。
feof() 函数检测是否已到达文件末尾 (eof)。

//判断文件或目录是否存在
bool file_exists(string filename)
判断文件或目录是否存在,存在则返回真,否则返回假
格式:

if(file_exists(“hello.txt”))
{
Echo “文件存在”;
}
//打开文件

格式:
fopen(filename,mode)
说明:按指定的格式打开指定的文件
filename:要打开的文件名
mode : 打开模式
fopen(“hello.txt”,”w”);
表示以写的方式打开hello.txt文件

//写文件
格式:
fwrite(resource,string);
说明:在打开的文件中添加指定的内容
resource:打开的文件
string:要写入的内容
例:
$handle = fopen(“hello.txt”,”w”) //若a ,则可追加数据
fwrite($handle,”1\r\n”)

//关闭文件
格式:
fclose($handle)
说明:关闭打开的文件
例:
$handle = fopen(“hello.txt”,”w”);
fclose($handle);

//读取一行数据
格式:
fgets(int handle[,int length])
说明:读取length-1个字符。若没有指定length,则默认字节为1KB,
若遇到换行、EOF或则已经读取了length-1个字符,则程序终止,
出错时候返回false;
例:
$handle = fopen(“hello.txt”,”r”);
$buffer = fgets($handle,1024);
echo $handle; //输出一行信息

//读取整个文件
格式:
readfile(filename)
说明:读取整个文件,并输出到浏览器
例:
<?
readfile(“hello.txt”);
?>

//取文件大小
格式:
filesize(filename)
说明:获取指定文件大小,出错返回false
例:
filesize(“a.rar”)

//删除文件
格式:
unlink()
说明:删除一个文件,成功则返回true,否则返回false
例:
unlink(“b.txt”)

//创建目录
格式:
mkdir(dirname)
说明:创建一个目录
例:mkdir(“newfolder”); //当前目录下创建新文件夹

//删除目录
格式:
rmdir(dirname)
说明:删除一个目录
例:rmdir(“newfolder”);

//取得文件名
格式:
basename(filepath)
说明:从指定的路径中返回文件名
例:
basename(“c:\mytools\a.txt”) //返回a.txt

//获取文件路径信息
pathinfo(path)
说明:返回文件路径信息,结果保存在数组中,数组下标为
dirname(路径) , basename(文件名) , extension(扩展名)
例:pathinfo(“c:\mytools\a.txt”)

//取绝对路径
格式:
realpath(filename)
说明:取指定文件的绝对路径,失败则返回false
例:realpath(“h.txt”)  //F:\apache\example\h.txt

//复制文件
格式:
copy(source,dest)
说明:将source文件复制到dest处
例:copy(“h.txt”,”newfloder\a.txt”)

//判断是否是目录
格式:
is_dir(filename)
说明:判断给定文件名是否是一个目录。如果filename存在并且
为目录,则返回true,否则返回false.
例:

if(is_dir(“newfolder”))
{
echo “是文件目录”;
}

//打开目录
格式:opendir(path)
说明:打开一个指定文件目录,返回一个资源标示符
例:
$hand = opendir(“.”) //打开根目录

//读取目录
格式:
readdir($handle)
说明:读取一个打开的文件目录流
readdir($hand);

//关闭目录
格式:
closedir($handle)
说明:关闭一个打开的目录流
例:closedir($hand);

PHP 相关文章推荐
PHP OPCode缓存 APC详细介绍
Oct 12 PHP
PHP正则表达式之定界符和原子介绍
Oct 05 PHP
php判断上传的Excel文件中是否有图片及PHPExcel库认识
Jan 11 PHP
PHP简单实现断点续传下载的方法
Sep 25 PHP
微信公众号判断用户是否已关注php代码解析
Jun 24 PHP
Yii2 hasOne(), hasMany() 实现三表关联的方法(两种)
Feb 15 PHP
PHP实现下载远程图片保存到本地的方法
Jun 19 PHP
PHP数据分析引擎计算余弦相似度算法示例
Aug 08 PHP
PHP基于堆栈实现的高级计算器功能示例
Sep 15 PHP
thinkphp5 URL和路由的功能详解与实例
Dec 26 PHP
PHP封装的分页类与简单用法示例
Feb 25 PHP
PHP常用函数之格式化时间操作示例
Oct 21 PHP
解析php安全性问题中的:Null 字符问题
Jun 21 #PHP
浅析SVN常见问题及解决方法
Jun 21 #PHP
关于svn冲突的解决方法
Jun 21 #PHP
关于PHP模板Smarty的初级使用方法以及心得分享
Jun 21 #PHP
解析关于wamp启动是80端口被占用的问题
Jun 21 #PHP
解析PHP中DIRECTORY_SEPARATOR,PATH_SEPARATOR两个常量的作用
Jun 21 #PHP
解析PHP将对象转换成数组的方法(兼容多维数组类型)
Jun 21 #PHP
You might like
3
2006/10/09 PHP
php中检查文件或目录是否存在的代码小结
2012/10/22 PHP
关于PHP递归算法和应用方法介绍
2013/04/15 PHP
PHP 使用memcached简单示例分享
2015/03/05 PHP
PHP的Yii框架中行为的定义与绑定方法讲解
2016/03/18 PHP
laravel实现简单用户权限的示例代码
2019/05/28 PHP
Javascript 写的简单进度条控件
2008/01/22 Javascript
B/S模式项目中常用的javascript汇总
2013/12/17 Javascript
js实现点击链接后窗口缩小并居中的方法
2015/03/02 Javascript
js完美解决IE6不支持position:fixed的bug
2015/04/24 Javascript
微信小程序 实战实例开发流程详细介绍
2017/01/05 Javascript
JavaScript登录记住密码操作(超简单代码)
2017/03/22 Javascript
深入理解vuex2.0 之 modules
2017/11/20 Javascript
详解JSON Web Token 入门教程
2018/07/30 Javascript
一文了解vue-router之hash模式和history模式
2019/05/31 Javascript
JS控制只能输入数字并且最多允许小数点两位
2019/11/24 Javascript
three.js 制作动态二维码的示例代码
2020/07/31 Javascript
vue组件实现移动端九宫格转盘抽奖
2020/10/16 Javascript
利用Python写一个爬妹子的爬虫
2018/06/08 Python
Python设计模式之备忘录模式原理与用法详解
2019/01/15 Python
Python3内置模块pprint让打印比print更美观详解
2019/06/02 Python
Win10下Python3.7.3安装教程图解
2019/07/08 Python
python实现文法左递归的消除方法
2020/05/22 Python
python利用google翻译方法实例(翻译字幕文件)
2020/09/21 Python
Python如何利用Har文件进行遍历指定字典替换提交的数据详解
2020/11/05 Python
从一次项目重构说起CSS3自定义变量在项目的使用方法
2021/03/01 HTML / CSS
Bose美国官网:购买Bose耳机和音箱
2019/03/10 全球购物
大专自我鉴定范文
2013/10/01 职场文书
酒店员工检讨书
2014/02/18 职场文书
电子商务专业学生职业生涯规划
2014/03/07 职场文书
追悼会主持词
2014/03/20 职场文书
教师自我鉴定范文
2014/03/20 职场文书
学习焦裕禄同志为人民服务思想汇报
2014/09/10 职场文书
副乡长民主生活会个人对照检查材料思想汇报
2014/10/01 职场文书
《爱的教育》读书心得
2014/11/08 职场文书
CSS3 实现NES游戏机的示例代码
2021/04/21 HTML / CSS