一、include和require

  服务器端包含 (SSI) 用于创建可在多个页面重复使用的函数、页眉、页脚或元素。

  include (或 require)语句会获取指定文件中存在的所有文本/代码/标记,并复制到使用 include 语句的文件中。

  include 和 require 语句是相同的,除了错误处理方面:

  • require 会生成致命错误(E_COMPILE_ERROR)并停止脚本
  • include 只生成警告(E_WARNING),并且脚本会继续

  用法:

  include 'filename';

  require 'filename';

  include和require的区别:

    如果用 include 语句引用某个文件并且 PHP 无法找到它,脚本会继续执行,反正没找到就没找到。当文件不是必需的,且应用程序在文件未找到时应该继续运行时用。

    如果用require,引用的文件找不到,页面会报错。当文件被应用程序请求时用。

二、readfile() 函数

  读取文件,并把它写入输出缓冲。读取成功返回字节数(bytes),读取失败返回false

  int readfile    ( string $filename   [, bool $use_include_path = false   [, resource $context  ]] )

  filename

  要读取的文件名。

 use_include_path

  想要在include_path中搜索文件,可使用这个可选的第二个参数,设为 TRUE

 context

  Stream 上下文(context) resource。

   readfile("test");//读取文件

 更多例子见:http://php.net/manual/en/function.readfile.php

三、fopen()函数

  resource fopen    ( string $filename   , string $mode   [, bool $use_include_path = false   [, resource $context  ]] )

  filename:

  如果 filename是 "scheme://..." 的格式,则被当成一个URL,PHP 将搜索协议处理器(也被称为封装协议)来处理此模式。如果该协议尚未注册封装协议,PHP        将发出一条消息来帮助检查脚本中潜在的问题并将filename当成一个普通的文件名继续执行下去。

如果 PHP 认为filename指定的是一个本地文件,将尝试在该文件上打开一个流。该文件必须是        PHP 可以访问的,因此需要确认文件访问权限允许该访问。如果激活了安全模式或者 open_basedir则会应用进一步的限制。

如果 PHP 认为filename指定的是一个已注册的协议,而该协议被注册为一个网络URL,PHP 将检查并确认allow_url_fopen已被激活。如果关闭了,PHP 将发出一个警告,而 fopen 的调用则失败。

  mode:

  

 user_include_path

  如果也需要在 include_path中搜寻文件的话,可以将可选的第三个参数use_include_path设为 '1' 或 TRUE

  返回值:

  成功时返回文件指针资源,如果打开失败,本函数返回 FALSE

四、fread()

  string fread    ( resource $handle   , int $length   )

  fread() 函数读取打开的文件。

  fread() 的第一个参数包含待读取文件的文件名,第二个参数规定待读取的最大字节数。

  如下 PHP 代码把 "webdictionary.txt" 文件读至结尾:

 fread($myfile,filesize("webdictionary.txt"));

五、 fclose()

  bool fclose    ( resource $handle )

  fclose() 函数用于关闭打开的文件。

  注释:用完文件后把它们全部关闭是一个良好的编程习惯。您并不想打开的文件占用您的服务器资源。

  fclose() 需要待关闭文件的名称(或者存有文件名的变量):

<?php
$myfile = fopen("webdictionary.txt", "r");
// some code to be executed....
fclose($myfile);
?>

六、fgets()

  string fgets    ( resource $handle   [, int $length  ] )

  fgets() 函数用于从文件读取单行。

  $handle

  必须是fopen,fsockopen没有fclose的文件

  $length

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

  返回值

  从指针 handle 指向的文件中读取了 length - 1 字节后返回字符串。    如果文件指针中没有更多的数据了则返回 FALSE。错误发生时返回 FALSE

  注释:调用 fgets() 函数之后,文件指针会移动到下一行。

  下例输出 "webdictionary.txt" 文件的首行:

  实例

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
echo fgets($myfile);
fclose($myfile);
?>

七、fgetc()

  string fgetc    ( resource $handle)

  fgetc() 函数用于从文件中读取单个字符。

  $handle

  必须是fopen,fsockopen没有fclose的文件

  返回值

返回一个包含有一个字符的字符串,该字符从 handle 指向的文件中得到。   碰到 EOF 则返回 FALSE

  Warning

  此函数可能返回布尔值FALSE,但也可能返回等同于 FALSE 的非布尔值。请阅读 布尔类型章节以获取更多信息。应使用===运算符来测试此函数的返回值。

  注释:在调用 fgetc() 函数之后,文件指针会移动到下一个字符。

  下例逐字符读取 "webdictionary.txt" 文件,直到 end-of-file:

  实例

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
// 输出单字符直到 end-of-file
while(!feof($myfile)) {
  echo fgetc($myfile);
}
fclose($myfile);
?>

八、feof()

  bool feof    ( resource $handle )

  feof() 函数检查是否已到达 "end-of-file" (EOF)。

  feof() 对于遍历未知长度的数据很有用。

  下例逐行读取 "webdictionary.txt" 文件,直到 end-of-file:

  实例

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
// 输出单行直到 end-of-file
while(!feof($myfile)) {
  echo fgets($myfile) . "<br>";
}
fclose($myfile);
?>
 

php学习笔记——文件(1)的更多相关文章

  1. 《python基础教程(第二版)》学习笔记 文件和素材(第11章)

    <python基础教程(第二版)>学习笔记 文件和素材(第11章) 打开文件:open(filename[,mode[,buffering]]) mode是读写文件的模式f=open(r' ...

  2. [Python学习笔记]文件的读取写入

    文件与文件路径 路径合成 os.path.join() 在Windows上,路径中以倒斜杠作为文件夹之间的分隔符,Linux或OS X中则是正斜杠.如果想要程序正确运行于所有操作系统上,就必须要处理这 ...

  3. .net学习笔记--文件读写的几种方式

    在.net中有很多有用的类库来读写硬盘上的文件 一般比较常用的有: File:1.什么时候使用:当读写件大小不大,同时可以一次性进行读写操作的时候使用         2.不同的方式可以读写文件类型不 ...

  4. python学习笔记:文件操作和集合(转)

    转自:http://www.nnzhp.cn/article/16/ 这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句 ...

  5. Python学习笔记——文件

    1.文件只是连续的字节序列 open()内建函数是打开文件之门的钥匙 file_obj=open(file_name,access_mode='r/w/a,' buffering=-1) file_n ...

  6. Spring MVC学习笔记——文件上传

    1.实现文件上传首先需要导入Apache的包,commons-fileupload-1.2.2.jar和commons-io-2.1.jar 实现上传就在add.jsp文件中修改表单 enctype= ...

  7. python 2.7 学习笔记--文件的基本操作

    1.打开文件的方式 file_obj = file("文件路径","模式") file_obj = open("文件路径","模式 ...

  8. linux学习笔记--文件

    文件系统 ls -lhi i inode 相当于文件在磁盘里的唯一标示,index node h 代表文件大小k,m [root@masters ~]# [root@masters ~]# ls -l ...

  9. erlang学习笔记(文件操作)

    参考这里和这里了解到的文件操作的模块有很多:kernel下有:file,stdlib下有:filelib,filename,file_sorter.(具体查看官方文档)

  10. Python学习笔记——文件写入和读取

    1.文件写入 #coding:utf-8 #!/usr/bin/env python 'makeTextPyhton.py -- create text file' import os ls = os ...

随机推荐

  1. ASP.NET MVC应用程序使用axd格式文件

    ASP.NET MVC应用程序使用axd格式文件 axd格式文件,不管是在asp.net还是现在开发asp.net MVC应用程序,都是Insus.NET较喜欢使用的. 因为我们可以虚拟一个在应用程序 ...

  2. 使用typeof方法反射属性和方法

    Type type = typeof(System.Int32);//获得int类型的Type对象 foreach (MethodInfo method in type.GetMethods())// ...

  3. C#多线程--仓库问题引发的故事

    假设有这么个场景,一个仓库,里面有N件货物,现有六个搬运工(用线程模拟),其中2个向仓库放东西,4个往外搬东西.假设1秒能向里放2件货物,同时可向外搬3件货物(线程休眠),现在需要往里放M件货物,一旦 ...

  4. net破解一(反编译,反混淆-剥壳,工具推荐)

    net破解一(反编译,反混淆-剥壳,工具推荐) 大家好,前段时间做数据分析,需要解析对方数据,而数据文件是对方公司内部的生成方式,完全不知道它是怎么生成的. 不过还好能拿到客户端(正好是C#开发)所以 ...

  5. 基于.NET打造IP智能网络视频监控系统

    开源倾情奉献:基于.NET打造IP智能网络视频监控系统(一)开放源代码   开源倾情奉献系列链接 开源倾情奉献:基于.NET打造IP智能网络视频监控系统(一)开放源代码 开源倾情奉献:基于.NET打造 ...

  6. C#获取友好时间差

    /// <summary> /// 获取时间差 /// </summary> /// <param name="dtOld">要减的时间< ...

  7. ios学习笔记第三天之UI控件

  8. javac命令

    javac命令 javac命令初窥 注:以下红色标记的参数在下文中有所讲解. 用法: javac <options> <source files> 其中, 可能的选项包括:   ...

  9. iOS核心应用对象

    IOS应用之设计模式:模型-视图-控制器 iOS应用与其它应用的区别就在于它所管理的数据(和相应的业务逻辑)以及将数据展现给用户的方式.大多数UIKit对象并不定义应用而是帮助完善其行为.例如,你的应 ...

  10. 我的TDD实践---SVN架设篇

    我的TDD实践---SVN架设篇 “我的TDD实践”系列之SVN架设 写在前面: 我的TDD实践这几篇文章主要是围绕测试驱动开发所展开的,其中涵盖了一小部分测试理论,更多的则是关注工具的使用及环境的搭 ...