`
aichenglong
  • 浏览: 6657 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

php 文件操作

    博客分类:
  • php
阅读更多
1 写入文件
@$fp=fopen("$DOCUMENT_ROOT/order.txt", "ab");
if(!$fp){
echo "open file error" ;

exit;
}
$outputstring="date:"." \t tire:".$tire." \t oil:".$oil." \t spark:".$sparkqty." \n ";
fwrite($fp, $outputstring,strlen($outputstring));
fclose($fp);

相关函数语法:
fopen(filename,mode,include_path,context) 打开文件或者 URL。
filename: 必需。规定要打开的文件或 URL。
module:必需。规定要求到该文件/流的访问类型
include_path:可选。如果也需要在 include_path 中检索文件的话,可以将该参数设为 1 或 TRUE。
context:可选。规定文件句柄的环境。Context 是可以修改流的行为的一套选项。

fwrite(file,string,length)写入文件(可安全用于二进制文件)
file:必须.打开的文件($fp)
string:必需。规定要写入文件的字符串。
ftp:可选。规定要写入的最大字节数。
注意:如果需要换行的话,需使用"\n"来表示,在'\n'会解释成字符串

fclose($fp):关闭文件

2读取文件
@$fp=fopen("$DOCUMENT_ROOT/order.txt", "rb");

if(!$fp){
echo "open file error" ;

exit;
}
while (!feof($fp)){
$order=fgets($fp,99);
echo $order."<br/>";

}

相关函数语法:
feof(file) 数检测是否已到达文件末尾
   file:必需。规定要检查的打开文件。

fgets(file,length) 函数从文件指针中读取一行
   file:必需。规定要读取的文件。
   length:可选。规定要读取的字节数。默认是 1024 字节。
说明

从 file 指向的文件中读取一行并返回长度最多为 length - 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(要看先碰到那一种情况)。如果没有指定 length,则默认为 1K,或者说 1024 字节。
若失败,则返回 false。

相关读取文件的函数:
fgetss(file,length,tags)//从打开的文件中读取一行并过滤掉 HTML 和 PHP 标记
  file:必需。规定要读取的文件。
  length:可选。规定要读取的字节数。默认是 1024 字节。该参数在 PHP 5 之前是必需的
  tags: 可选。规定不会被删除的标签。
示例:
  $file = fopen("$DOCUMENT_ROOT/index.html","r");
  echo fgetss($file,1024,"<h1>");
  fclose($file);
  文件内容:<html><body><h1>It works!</h1></body></html>
  输出的内容:<h1>It works!</h1>

fgetcsv(file,length,separator,enclosure)//从文件指针中读入一行并解析 CSV 字段。
  file:必需。规定要检查的文件。
  length:可选。规定行的最大长度。必须大于 CVS 文件内最长的一行。在 PHP 5 中该参数是可选的。在 PHP 5 之前是必需的。如果忽略(在 PHP 5.0.4 以后的版本中设为 0)该参数的话,那么长度就没有限制,不过可能会影响执行效率。
  separator: 可选。设置字段分界符(只允许一个字符),默认值为逗号。
  enclosure:可选。设置字段环绕符(只允许一个字符),默认值为双引号。该参数是在 PHP 4.3.0 中添加的。
  示例:
   <?php

$file = fopen("contacts.csv","r");

while(! feof($file))
  {
  print_r(fgetcsv($file));
  }

fclose($file);

?>
contacts.csv文件:
  George, John, Thomas, USA
  James, Adrew, Martin, USA
输出内容:
Array
(
[0] => George
[1] => John
[2] => Thomas
[3] => USA

Array
(
[0] => James
[1] => Adrew
[2] => Martin
[3] => USA
)

读取整个文件相关文件
readfile(filename,include_path,context)//输出一个文件。
file: 必需。规定要读取的文件。
include_path:可选。如果也想在 include_path 中搜索文件,可以使用该参数并将其设为 true。
context:可选。规定文件句柄的环境。Context 是可以修改流的行为的一套选项。
<?php
echo readfile("$DOCUMENT_ROOT/order.txt");
?>

  fpassthru(file)输出文件指针处的所有剩余数据。该函数将给定的文件指针从当前的位置读取到 EOF,并把结果写到输出缓冲区。
   file:必需。规定要读取的打开文件或资源。
注释:当在 Windows 系统中将 fpassthru() 用于二进制文件时,要确保在用 fopen() 打开文件时在 mode 中附加了 b 来将文件以二进制方式打开。鼓励在处理二进制文件时使用 b 标志,即使系统并不需要,这样可以使脚本的移植性更好
示例:
<?php
$file = fopen("$DOCUMENT_ROOT/order.txt","r");
// 读取第一行
fgets($file);
// 把文件的其余部分发送到输出缓存
echo fpassthru($file);
fclose($file);
?>

file(path,include_path,context)// 函数把整个文件读入一个数组中。
path: 必需。规定要读取的文件。
include_path:可选。如果也想在 include_path 中搜寻文件的话,可以将该参数设为 "1"。
context:可选。规定文件句柄的环境。context 是一套可以修改流的行为的选项。若使用 null,则忽略。

<?php
echo "<br/>";
print_r(file("$DOCUMENT_ROOT/order.txt"));
?>
//显示的内容
Array ( [0] => date: tire:2 oil:2 spark:2 [1] => date: tire:2 oil:2 spark:2 [2] => )

fgetc(file)//从文件指针中读取一个字符。
  file:必需。规定要检查的文件。
示例
  <?php
  $file = fopen("test.txt","r");
while (! feof ($file))
{
  echo fgetc($file);
}

  fclose($file);
  ?>
 
  fread(file,length)//读取文件(可安全用于二进制文件)
  file:必需。规定要读取打开文件。
  length:必需。规定要读取的最大字节数。

提示:如果只是想将一个文件的内容读入到一个字符串中,请使用 file_get_contents(),它的性能比 fread() 好得多。

示例:
  <?php
$file = fopen("test.txt","r");
fread($file,"10");
fclose($file);
?>
//从文件中读取 10 个字节

其他的文件操作

file_exists(path)//检查文件或目录是否存在。如果指定的文件或目录存在则返回 true,否则返回 false。
语法
filesize(filename)//函数返回指定文件的大小。
若成功,则返回文件大小的字节数。若失败,则返回 false 并生成一条 E_WARNING 级的错误。
unlink(filename,context)//函数删除文件。若成功,则返回 true,失败则返回 false。
filename:必需。规定要删除的文件。
context:可选。规定文件句柄的环境。Context 是可修改流的行为的一套选项。
rewind(file)将文件指针的位置倒回文件的开头。若成功,则返回 true。若失败,则返回 false。
fseek(file,offset,whence)//在打开的文件中定位。该函数把文件指针从当前位置向前或向后移动到新的位置,新位置从文件头开始以字节数度量。成功则返回 0;否则返回 -1。注意,移动到 EOF 之后的位置不会产生错误。
file:必需。规定要在其中定位的文件。
offset:必需。规定新的位置(从文件头开始以字节数度量)。
whence:可选。可能的值:
      •SEEK_SET - 设定位置等于 offset 字节。默认。
      •SEEK_CUR - 设定位置为当前位置加上 offset。
      •SEEK_END - 设定位置为文件末尾加上 offset (要移动到文件尾之前的位置,offset 必须是一个负值)。
示例:
   <?php
  $file = fopen("test.txt","r");
  // 读取第一行
  fgets($file);
  // 倒回文件的开头
  fseek($file,0);
  ?>
ftell(file)//在打开文件中的当前位置。该函数返回文件指针的当前位置。若失败,则返回 false。
flock(file,lock,block)//函数锁定或释放文件。若成功,则返回 true。若失败,则返回 false
  file:必需。规定要锁定或释放的已打开的文件。
  lock:必需。规定要使用哪种锁定类型。
  block:可选。若设置为 1 或 true,则当进行锁定时阻挡其他进程。

lock 参数可以是以下值之一:
•要取得共享锁定(读取的程序),将 lock 设为 LOCK_SH(PHP 4.0.1 以前的版本设置为 1)。
•要取得独占锁定(写入的程序),将 lock 设为 LOCK_EX(PHP 4.0.1 以前的版本中设置为 2)。
•要释放锁定(无论共享或独占),将 lock 设为 LOCK_UN(PHP 4.0.1 以前的版本中设置为 3)。
•如果不希望 flock() 在锁定时堵塞,则给 lock 加上 LOCK_NB(PHP 4.0.1 以前的版本中设置为 4)。

示例:
<?php

$file = fopen("test.txt","w+");

// 排它性的锁定
if (flock($file,LOCK_EX))
  {
  fwrite($file,"Write something");
  // release lock
  flock($file,LOCK_UN);
  }
else
  {
  echo "Error locking file!";
  }

fclose($file);
?>








  


  







分享到:
评论
2 楼 aichenglong 2015-01-07  
谢谢提醒哈,最近正在学习哈。
1 楼 月影无痕 2015-01-07  
建议尽量不要用@符号,使用它,说明你对自己程序代码健壮度没有信心。

相关推荐

    PHP 文件操作函数

    通过理解和掌握这些PHP文件操作函数,开发者可以有效地处理文件系统,构建安全、高效的Web应用。在实际开发中,结合具体需求,灵活运用这些函数,能解决大多数文件相关的编程问题。在实践中不断积累经验,才能更好地...

    php文件操作类.zip

    "php文件操作类.zip"可能包含一个自定义的PHP类库,专为处理文件系统操作而设计。这个类库可以帮助开发者更方便、高效地进行读取、写入、创建、删除和移动文件等任务,而无需直接调用PHP的内置文件函数。下面,我们...

    PHP文件操作,方便的修改存在.php文件里的网站变量

    综上所述,PHP文件操作提供了灵活的方式来管理和修改存储在.php文件中的全局变量。通过合理的设计和规范的编程习惯,我们可以高效且安全地处理这类任务。同时,结合错误处理和版本控制,可以进一步增强系统的稳定性...

    实用的php文件操作类.zip

    "实用的PHP文件操作类"就是这样一个工具,它旨在简化常见的文件处理任务。下面我们将深入探讨PHP文件操作类的关键概念和功能。 1. **类库介绍** 这个类库很可能包含了若干个PHP类,每个类都专注于一个特定的文件或...

    php文件操作类

    php文件系统操作类文件,可以对文件以及文件夹进行添加删除移动等操作。

    php文件操作类,十分方便

    php文件操作类,包括创建文件夹、递归复制、递归删除、递归移动

    PHP文件操作和生成HTML文件原理

    ### PHP文件操作和生成HTML文件原理 #### 一、PHP文件操作函数 ##### 1. fopen函数:打开文件函数 - **格式**:`fopen(路径和文件名,打开方式);` - **注意事项**: - 如果打开失败,该函数返回`FALSE`。 - ...

    php文件操作.rar

    "php文件操作.rar"这个压缩包显然包含了关于如何在PHP中进行文件操作的经典教程,其中08.pdf可能是具体章节或案例的文档。在这里,我们将详细探讨PHP文件操作的主要概念和常用函数。 1. **打开和读取文件**: PHP...

    PHP文件操作——记忆卡

    ### PHP文件操作——记忆卡 #### 一、PHP中文件系统的介绍 在PHP中,文件系统操作是一项重要的技能,尤其对于需要与服务器上的文件进行交互的应用来说更是如此。本章节将详细介绍PHP中文件系统的概念、文件类型、...

    一个PHP文件操作类(文件和文件夹创建,复制,移动和删除)

    这个名为"08PHP文件操作类(文件和文件夹创建,复制,移动和删除)"的类库,提供了一套完整的解决方案来处理文件系统中的各种任务。下面我们将详细探讨这个类库中的关键知识点。 首先,类库的核心功能是文件操作。...

    漠岚php文件操作类.7z

    "漠岚php文件操作类"可能是一个专门为PHP设计的文件处理类库,旨在简化和规范化文件操作流程,提高代码的可维护性和效率。这个类库可能包含了对文件系统的各种操作方法,下面我们将详细讨论PHP中的文件操作及其可能...

    基于PHP的漠岚php文件操作管理程序源码.zip

    【标题】基于PHP的漠岚php文件操作管理程序源码是一个专门为PHP开发人员设计的工具,用于方便地管理和操作服务器上的文件系统。该程序利用PHP的内置文件处理函数,为用户提供了一个直观的界面来执行常见的文件操作,...

    PHP实例开发源码—漠岚php文件操作管理程序.zip

    【PHP文件操作管理程序概述】 PHP(Hypertext Preprocessor)是一种广泛使用的开源脚本语言,尤其适合于Web开发,可以嵌入到HTML中使用。这个"PHP实例开发源码—漠岚php文件操作管理程序"是基于PHP设计的一个实用...

    基于PHP的漠岚php文件操作管理程序.zip

    【标题】"基于PHP的漠岚php文件操作管理程序"是一个使用PHP编程语言开发的文件管理系统,它专门设计用于处理和管理服务器上的文件。这个系统可能包含一系列功能,如文件的上传、下载、删除、重命名、移动和复制等,...

    简单的php文件操作类.zip

    这个"简单的php文件操作类"提供了一种便捷的方式来处理常见的文件系统任务,如创建、检查、删除文件和目录,以及获取文件信息。下面我们将深入探讨这个类的一些核心功能和相关的PHP文件操作知识。 首先,类库中的...

    一个PHP文件操作类(文件和文件夹创建,复制,移动和删除).zip

    这个名为"一个PHP文件操作类(文件和文件夹创建,复制,移动和删除)"的类库提供了方便的接口,帮助开发者更高效地进行文件和目录的操作。下面将详细解释这个类库中的关键知识点。 1. **文件操作类的设计** 类库...

    PHP实例开发源码-漠岚php文件操作管理程序.zip

    《PHP文件操作管理程序——漠岚实例解析》 在当今的Web开发中,PHP作为一款强大的服务器端脚本语言,广泛应用于网站后端处理,尤其是文件操作方面。本实例"漠岚php文件操作管理程序"提供了丰富的示例,旨在帮助...

    漠岚php文件操作类 0.1.2.zip

    "漠岚php文件操作类 0.1.2.zip" 是一个包含PHP源码的压缩包,主要用于实现基本的文件管理和操作功能。这个类库设计简单,提供了在线查看文件列表、删除文件等实用功能,是PHP开发中处理文件操作的一个实用工具。 在...

    PHP 文件操作

    本文将深入探讨PHP文件操作的相关知识点,帮助你更好地理解和掌握如何在PHP中处理文件和目录。 首先,PHP提供了丰富的文件操作函数,使得开发者能够进行读取、写入、创建、删除等操作。例如,`fopen()`函数用于打开...

Global site tag (gtag.js) - Google Analytics