基于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 相关文章推荐
用DBSQL类加快开发MySQL数据库程序的速度
Oct 09 PHP
php 文件上传代码(限制jpg文件)
Jan 05 PHP
php实现上传图片生成缩略图示例
Apr 13 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(一)
Jun 23 PHP
PHP中单引号与双引号的区别分析
Aug 19 PHP
php提示Failed to write session data错误的解决方法
Dec 17 PHP
给PHP开发者的编程指南 第一部分降低复杂程度
Jan 18 PHP
PHP Static延迟静态绑定用法分析
Mar 16 PHP
PHP简单日历实现方法
Jul 20 PHP
PHP开发之用微信远程遥控服务器
Jan 25 PHP
PHP的介绍以及优势详细分析
Sep 05 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
Feb 22 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
曾在DC漫画界反派角色扮演的演员,谁才是你心目中的小丑之王?
2020/04/09 欧美动漫
如何把PHP转成EXE文件
2006/10/09 PHP
杏林同学录(三)
2006/10/09 PHP
一些关于PHP的知识
2006/11/17 PHP
MySql中正则表达式的使用方法描述
2008/07/30 PHP
PHP请求Socket接口测试实例
2016/08/12 PHP
PHP中一个有趣的preg_replace函数详解
2018/08/15 PHP
父窗口获取弹出子窗口文本框的值
2006/06/27 Javascript
实现点击列表弹出列表索引的两种方式
2013/03/08 Javascript
jQuery.holdReady()使用方法
2014/05/20 Javascript
js使用栈来实现10进制转8进制与取除数及余数
2014/06/11 Javascript
Node.js中JavaScript操作MySQL的常用方法整理
2016/03/01 Javascript
关于webpack代码拆分的解析
2017/07/20 Javascript
详解基于vue的移动web app页面缓存解决方案
2017/08/03 Javascript
Node.js爬取豆瓣数据实例分析
2018/03/05 Javascript
vue.js引入外部CSS样式和外部JS文件的方法
2019/01/06 Javascript
基于vue的验证码组件的示例代码
2019/01/22 Javascript
使用Vue 实现滑动验证码功能
2019/06/27 Javascript
Js参数RSA加密传输之jsencrypt.js的使用
2020/02/07 Javascript
简介Django框架中可使用的各类缓存
2015/07/23 Python
Linux中Python 环境软件包安装步骤
2016/03/31 Python
Python 实现选择排序的算法步骤
2018/04/22 Python
Appium Python自动化测试之环境搭建的步骤
2019/01/23 Python
Python检查ping终端的方法
2019/01/26 Python
python openCV获取人脸部分并存储功能
2019/08/28 Python
python多线程实现TCP服务端
2019/09/03 Python
localStorage 设置过期时间的方法实现
2018/12/21 HTML / CSS
39美元购买一副眼镜或太阳镜:39DollarGlasses.com
2018/06/17 全球购物
塑料制成的可水洗的编织平底鞋和鞋子:Rothy’s
2018/09/16 全球购物
促销活动策划方案
2014/01/12 职场文书
企业趣味活动方案
2014/08/21 职场文书
初二物理教学反思
2016/02/19 职场文书
2017元旦、春节期间廉洁自律承诺书
2016/03/25 职场文书
Java并发编程之Executor接口的使用
2021/06/21 Java/Android
MySQL8.0的WITH查询详情
2021/08/30 MySQL
python可视化大屏库big_screen示例详解
2021/11/23 Python