基于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+mysql分页代码详解
Mar 27 PHP
php面向对象的方法重载两种版本比较
Sep 08 PHP
PHP中json_encode、json_decode与serialize、unserialize的性能测试分析
Jun 09 PHP
php设计模式 Factory(工厂模式)
Jun 26 PHP
php发送post请求的三种方法
Feb 11 PHP
php生成图片缩略图的方法
Apr 07 PHP
PHP中的类型提示(type hinting)功能介绍
Jul 01 PHP
PHP函数nl2br()与自定义函数nl2p()换行用法分析
Apr 02 PHP
PHP  实现等比压缩图片尺寸和大小实例代码
Oct 08 PHP
php实现socket推送技术的示例
Dec 20 PHP
微信公众号开发之获取位置信息php代码
Jun 13 PHP
Laravel 将数据表的数据导出,并生成seeds种子文件的方法
Oct 09 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
PHP 开发环境配置(Zend Studio)
2010/04/28 PHP
使用Smarty 获取当前日期时间和格式化日期时间的方法详解
2013/06/18 PHP
ThinkPHP框架实现session跨域问题的解决方法
2014/07/01 PHP
orm获取关联表里的属性值
2016/04/17 PHP
tp5.1 框架join方法用法实例分析
2020/05/26 PHP
jquery预览图片实现鼠标放上去显示实际大小
2014/01/16 Javascript
浅析jquery的js图表组件highcharts
2014/03/06 Javascript
jquery ui bootstrap 实现自定义风格
2014/11/14 Javascript
jQuery插件实现无缝滚动特效
2015/11/24 Javascript
JavaScript中style.left与offsetLeft的使用及区别详解
2016/06/08 Javascript
js选择器全面解析
2016/06/27 Javascript
JS实现图片高斯模糊切换效果的焦点图实例
2017/01/21 Javascript
jQuery+ajax实现修改密码验证功能实例详解
2017/07/06 jQuery
js实现淘宝首页的banner栏效果
2019/11/26 Javascript
JS实现纵向轮播图(初级版)
2020/01/18 Javascript
[09:23]国际邀请赛采访专栏:iG战队VK,Tongfu战队Cu
2013/08/05 DOTA
[58:59]完美世界DOTA2联赛PWL S3 access vs CPG 第一场 12.13
2020/12/16 DOTA
[01:07:57]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第二场 1月19日
2021/03/11 DOTA
Python学习笔记之os模块使用总结
2014/11/03 Python
Python中列表、字典、元组数据结构的简单学习笔记
2016/03/20 Python
python去除文件中空格、Tab及回车的方法
2016/04/12 Python
python3.4.3下逐行读入txt文本并去重的方法
2018/04/29 Python
关于python下cv.waitKey无响应的原因及解决方法
2019/01/10 Python
python3中的logging记录日志实现过程及封装成类的操作
2020/05/12 Python
Pycharm配置lua编译环境过程图解
2020/11/28 Python
小蚁科技官方商店:YI Technology
2019/08/23 全球购物
eharmony澳大利亚:网上约会服务
2020/02/29 全球购物
校园广播稿500字
2014/02/04 职场文书
2014学校庆三八妇女节活动总结
2014/03/01 职场文书
小学国庆节活动方案策划书
2014/09/16 职场文书
场地使用证明模板
2014/10/25 职场文书
归元寺导游词
2015/02/06 职场文书
歌咏比赛口号大全
2015/12/25 职场文书
vue使用Google Recaptcha验证的实现示例
2021/08/23 Vue.js
Python进程池与进程锁之语法学习
2022/04/11 Python
html网页引入svg图片的4种方式
2022/08/05 HTML / CSS