基于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 相关文章推荐
CodeIgniter php mvc框架 中国网站
May 26 PHP
phpMyAdmin链接MySql错误 个人解决方案
Dec 28 PHP
php imagecreatetruecolor 创建高清和透明图片代码小结
May 15 PHP
仿AS3实现PHP 事件机制实现代码
Jan 27 PHP
PHP学习之整理字符串
Apr 17 PHP
解析php类的注册与自动加载
Jul 05 PHP
Zend Framework入门之环境配置及第一个Hello World示例(附demo源码下载)
Mar 21 PHP
yii2实现根据时间搜索的方法
May 25 PHP
PHP简单实现二维数组赋值与遍历功能示例
Oct 19 PHP
PhpStorm配置Xdebug调试的方法步骤
Feb 02 PHP
laravel 字段格式化 modle 字段类型转换方法
Sep 30 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
Feb 29 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
咖啡的植物学知识
2021/03/03 咖啡文化
php页面跳转代码 输入网址跳转到你定义的页面
2013/03/28 PHP
php遍历目录与文件夹的多种方法详解
2013/11/14 PHP
PHP中file_exists使用中遇到的问题小结
2016/04/05 PHP
PHP正则表达式入门教程(推荐)
2016/05/18 PHP
自写的利用PDO对mysql数据库增删改查操作类
2018/02/19 PHP
实例讲解php将字符串输出到HTML
2019/01/27 PHP
js截取函数(indexOf,join等)
2010/09/01 Javascript
js FLASH幻灯片字符串中有连接符&的处理方法
2012/03/01 Javascript
实用的Jquery选项卡TAB示例代码
2013/08/28 Javascript
子页向父页传值示例
2013/11/27 Javascript
jQuery实现从身份证号中获取出生日期和性别的方法分析
2016/02/25 Javascript
jQuery 获取跨域XML(RSS)数据的相关总结分析
2016/05/18 Javascript
jQuery插件FusionCharts绘制的2D条状图效果【附demo源码】
2017/05/13 jQuery
Three.js利用orbit controls插件(轨道控制)控制模型交互动作详解
2017/09/25 Javascript
vue父组件触发事件改变子组件的值的方法实例详解
2019/05/07 Javascript
封装Vue Element的table表格组件的示例详解
2020/08/19 Javascript
vue实现日历表格(element-ui)
2020/09/24 Javascript
浅谈python装饰器探究与参数的领取
2017/12/01 Python
Python机器学习之K-Means聚类实现详解
2018/02/22 Python
值得收藏的10道python 面试题
2019/04/15 Python
Django 自定义分页器的实现代码
2019/11/24 Python
Python中顺序表原理与实现方法详解
2019/12/03 Python
opencv 形态学变换(开运算,闭运算,梯度运算)
2020/07/07 Python
澳大利高级泳装品牌:Bondi Born
2018/05/23 全球购物
C#面试题
2016/05/06 面试题
四川internet信息高速公路(C#)笔试题
2012/02/29 面试题
涉外经济法专业毕业生推荐信
2013/11/24 职场文书
护理实习自我鉴定
2013/12/14 职场文书
毕业自荐信
2013/12/16 职场文书
交通安全责任书范本
2014/07/24 职场文书
2014年小学体育工作总结
2014/12/11 职场文书
学生评语集锦
2015/01/04 职场文书
小学班主任研修日志
2015/11/13 职场文书
安装pytorch时报sslerror错误的解决方案
2021/05/17 Python
MyBatis-Plus 批量插入数据的操作方法
2021/09/25 Java/Android