一、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. jsp连接MySQL数据库显示GIS地理数据乱码问题的解决(select AsText(the_geom))

    oh,fuck,经过我昨天下午到今天的努力,终于将这一问题成功解决了,哈哈哈 问题详细描述: 我通过jsp页面连接上MySQL数据库,取出存在表中的地理数据(类型是geometry,具体有POINT. ...

  2. hrift 的序列化机制

    Thrift 个人实战--Thrift 的序列化机制 前言: Thrift作为Facebook开源的RPC框架, 通过IDL中间语言, 并借助代码生成引擎生成各种主流语言的rpc框架服务端/客户端代码 ...

  3. wcf契约随记

    1.wcf契约分为:服务契约,操作契约,消息契约.数据契约 -------------------服务契约: [ServiceContract( Name = "name_IUser&quo ...

  4. NET开发面向对象2

    面向对象 (2) 继续上一篇<ASP.NET开发,从二层至三层,至面向对象>http://www.cnblogs.com/insus/p/3822624.html .我们了解到怎样把自己的 ...

  5. enode框架

    enode框架 2.0 step by step之整体架构介绍 前言 enode框架简介 enode架构图 command handler一次只处理一个command 让domain生活在in mem ...

  6. DropDownListFor的用法

    Asp.Net MVC中DropDownListFor的用法   在Asp.Net MVC中可以用DropDownListFor的方式来让用户选择已定列表中的一个数值.用法不复杂,这里简单做一个记录. ...

  7. Binder机制,从Java到C (2. IPC in System Service :AMS)

    1.建立Activity和Service的IPC之前 在上一篇 Binder机制,从Java到C (1. IPC in Application Remote Service)  里面有说到Activi ...

  8. ASP.NET MVC 使用MSBuild部署的几个注意事项

    ASP.NET MVC 使用MSBuild部署的几个注意事项 做新项目,当时参考NopCommerce的结构,后台Nop.Admin是一个独立的Area Web Site,但部署的时候发现,使用一键发 ...

  9. 高级NAT-DMZ配置 -虚拟主机配置

    我家里另有一个网络摄像头,我想将公网IP映射到摄像头的IP,这样可以远程监控.以前没有光猫,用TP-Link做ADSL路由器,一点问题都没有. 现在破解了F420,在“高级NAT”-“DMZ配置”,或 ...

  10. 使用VS2010命令提示窗口操作程序集强命名

    说明:文中示例均以将文件置于D盘根目录(D:\)下为例. 一.查看程序集是否具有强命名 sn -T d:\LicBase.dll 若有则会显示PublicKeyToken值,反之不会. 二.给无强命名 ...