您现在的位置是:首页 > 网站制作 > PHPPHP

PHP 文件处理

胜于蓝2013-12-31【PHP】人已围观

简介fopen() 函数用于在 PHP 中打开文件。打开文件fopen() 函数用于在 PHP 中打开文件。此函数的第一个参数含有要打开的文件的名称,第二个参数规定了使用哪种模式来打开文件:<htm

fopen() 函数用于在 PHP 中打开文件。X2C胜于蓝|优秀个人博客


打开文件

fopen() 函数用于在 PHP 中打开文件。X2C胜于蓝|优秀个人博客

此函数的第一个参数含有要打开的文件的名称,第二个参数规定了使用哪种模式来打开文件:X2C胜于蓝|优秀个人博客

<html>X2C胜于蓝|优秀个人博客
<body>X2C胜于蓝|优秀个人博客
X2C胜于蓝|优秀个人博客
<?phpX2C胜于蓝|优秀个人博客
$file=fopen("welcome.txt","r");X2C胜于蓝|优秀个人博客
?>X2C胜于蓝|优秀个人博客
X2C胜于蓝|优秀个人博客
</body>X2C胜于蓝|优秀个人博客
</html>

文件可能通过下列模式来打开:X2C胜于蓝|优秀个人博客

模式 描述
r 只读。在文件的开头开始。
r+ 读/写。在文件的开头开始。
w 只写。打开并清空文件的内容;如果文件不存在,则创建新文件。
w+ 读/写。打开并清空文件的内容;如果文件不存在,则创建新文件。
a 追加。打开并向文件末尾进行写操作,如果文件不存在,则创建新文件。
a+ 读/追加。通过向文件末尾写内容,来保持文件内容。
x 只写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。
x+ 读/写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。

注释:如果 fopen() 函数无法打开指定文件,则返回 0 (false)。X2C胜于蓝|优秀个人博客

实例

如果 fopen() 函数不能打开指定的文件,下面的实例会生成一段消息:X2C胜于蓝|优秀个人博客

<html>X2C胜于蓝|优秀个人博客
<body>X2C胜于蓝|优秀个人博客
X2C胜于蓝|优秀个人博客
<?phpX2C胜于蓝|优秀个人博客
$file=fopen("welcome.txt","r") or exit("Unable to open file!");X2C胜于蓝|优秀个人博客
?>X2C胜于蓝|优秀个人博客
X2C胜于蓝|优秀个人博客
</body>X2C胜于蓝|优秀个人博客
</html>

关闭文件

fclose() 函数用于关闭打开的文件:X2C胜于蓝|优秀个人博客

<?phpX2C胜于蓝|优秀个人博客
$file = fopen("test.txt","r");X2C胜于蓝|优秀个人博客
X2C胜于蓝|优秀个人博客
//执行一些代码X2C胜于蓝|优秀个人博客
X2C胜于蓝|优秀个人博客
fclose($file);X2C胜于蓝|优秀个人博客
?>

检测文件末尾(EOF)

feof() 函数检测是否已到达文件末尾(EOF)。X2C胜于蓝|优秀个人博客

在循环遍历未知长度的数据时,feof() 函数很有用。X2C胜于蓝|优秀个人博客

注释:在 w 、a 和 x 模式下,您无法读取打开的文件!X2C胜于蓝|优秀个人博客

if (feof($file)) echo "文件结尾";

逐行读取文件

fgets() 函数用于从文件中逐行读取文件。X2C胜于蓝|优秀个人博客

注释:在调用该函数之后,文件指针会移动到下一行。X2C胜于蓝|优秀个人博客

实例

下面的实例逐行读取文件,直到文件末尾为止:X2C胜于蓝|优秀个人博客

<?phpX2C胜于蓝|优秀个人博客
$file = fopen("welcome.txt", "r") or exit("无法打开文件!");X2C胜于蓝|优秀个人博客
// 读取文件每一行,直到文件结尾X2C胜于蓝|优秀个人博客
while(!feof($file))X2C胜于蓝|优秀个人博客
{X2C胜于蓝|优秀个人博客
    echo fgets($file). "<br>";X2C胜于蓝|优秀个人博客
}X2C胜于蓝|优秀个人博客
fclose($file);X2C胜于蓝|优秀个人博客
?>

逐字符读取文件

fgetc() 函数用于从文件中逐字符地读取文件。X2C胜于蓝|优秀个人博客

注释:在调用该函数之后,文件指针会移动到下一个字符。X2C胜于蓝|优秀个人博客

实例

下面的实例逐字符地读取文件,直到文件末尾为止:X2C胜于蓝|优秀个人博客

<?phpX2C胜于蓝|优秀个人博客
$file=fopen("welcome.txt","r") or exit("无法打开文件!");X2C胜于蓝|优秀个人博客
while (!feof($file))X2C胜于蓝|优秀个人博客
{X2C胜于蓝|优秀个人博客
    echo fgetc($file);X2C胜于蓝|优秀个人博客
}X2C胜于蓝|优秀个人博客
fclose($file);X2C胜于蓝|优秀个人博客
?>X2C胜于蓝|优秀个人博客
 

PHP对逗号分隔符文件(*.csv)的处理。X2C胜于蓝|优秀个人博客

当如果你需要处理的数据比较少时可以使用csv文件(这是一类文本文件)存储数据更加便利。X2C胜于蓝|优秀个人博客

比如在php代码同目录下有一个a.csv文件,内容如下:(注意逗号是半角英文)X2C胜于蓝|优秀个人博客

小王,小红,小明,小凡X2C胜于蓝|优秀个人博客

php代码如何:X2C胜于蓝|优秀个人博客

<?php
$fh=fopen("a.csv","r");//这里我们只是读取数据,所以采用只读打开文件流
$arr=fgetcsv($fh);//这个函数就是读取CSV文件的函数,他把文本读入后转为数组存储在$arr中
fclose($fh);
foreach($arr as $key=>$value){echo $value;}//循环输出所有的值
?>

注意:CSV文本编码必须和HTML的编码相同,否则用php写到HTML中,用户会看到乱码。也可以使用 iconv 转码函数进行转码。X2C胜于蓝|优秀个人博客
 X2C胜于蓝|优秀个人博客

如果打开一个文件,文件名为中文,如果系统编程和当前文档编码不一致,会导致文件找不到无法打开,解决方法是用 iconv 函数编码转换成一致,如下:X2C胜于蓝|优秀个人博客

$fpath=iconv('UTF-8','GB2312',"题库.csv");
$file=fopen($fpath,"r") or exit("无法打开文件!");
//此处省略相关操作
fclose($file);    

用相对路径打不开子目录中的文件时,可用绝对路径打开,如下:X2C胜于蓝|优秀个人博客

$file=fopen(dirname(__FILE__).'\\files\\tk.csv',"r") or exit("无法打开文件!");   
//此处省略相关操作
fclose($file);

Tags:

很赞哦! ()

上一篇:PHP 包含文件

下一篇:PHP 文件上传

文章评论

当前时间

快速排名

  • 网站建设|万词霸屏,企业软文推广,刷下拉框
  • 快速排名:不用再等SEO三个月,只需3-7天即可把行业关键词覆盖百度搜索引擎首页,点击不收费,排名报表,真实访问量报表一目了然。

合作加盟

  • 扫码请注明来意,否则不会通过
  • 填写商户姓名不要带有“超市”,“便利店” ,“百货”等
  • 扫码成为快钱代理
  • 扫码加站长微信,为您推荐快钱总部负责人
  • 快钱POSS机(电签版)
  • 1,免押版:签约费率快捷交易0.38%,常规交易0.65%
  • 贷记卡单笔≥3000元视为激活
  • 2,,有押版:签约快捷交易0.38%,常规交易0.65%
  • 激活首刷≥99元,扣除99元系统服务费,多出部分shishi到账
  • 电签版ipos参与每月扶持奖励
  • 电签版ipos与Mpos单独考核台均
  • 30台以上有效激活奖励3000元扶持金
  • 当月交易额≥3000元的为活跃用户

本站推荐

站点信息

  • 建站时间:2018-10-24
  • 网站程序:帝国CMS7.5
  • 主题模板《今夕何夕》
  • 文章统计7074篇文章
  • 标签管理标签云
  • 统计数据百度统计
  • 扫描二维码:请注明来意,否则不会通过
  • 微信号:扫描二维码,关注我们
歌名 - 歌手
0:00