目录的基本操作:

在系统的每个目录下都有两个特殊的目录"."和".." , 分别指示当前目录和当前目录的父目录。

dirname()  返回目录的名称

pathinfo()  返回一个数组,包括目录名,基本名和扩展名,数组下标分别为["dirname"] ["basename"]["extension"]

遍历目录:

opendir()  返回一个可供其他目录函数使用的目录句柄。

readdir()  参数为目录句柄,从开始一次将指针移动一位,读到最后时返回false.

closedir() 关闭打开的目录句柄

rewinddir() 将目录句柄倒回到目录的开始部分。

删除目录:

PHP中删除目录的函数rmdir()只能移除一个空目录。 unlink()函数用于移除文件。

复制目录:

PHP中没有直接复制目录的函数,只能用copy()复制文件的函数来在自己写一个复制目录的函数。

文件的基本操作:

fopen() 打开一个文件,返回文件句柄。也可以打开网络文件。

fclose() 关闭文件。

int fwrite(resource handle, string string[,int length]) 写入指定内容大小。

feof() 用于判断是否到了文件的末尾,如果是则返回true,否则返回false.

string  fread(int handle, int length);

string fgets(int handle[,int length]);默认length的长度为1024个字节

file()用于将文件中的内容读入到一个数组中。

int readfile()读取整个文件的内容,立刻输出到输出缓冲区,并返回读取的字节数。

int ftell()返回当前指针的位置

int fseek(resource handle, int offset[,int whence])移动文件指针到指定的位置。

bool rewind(resource handle)

文件的锁定机制:

bool flock(int handle, int operation[,int $wouldblock]) 第二个参数规定使用哪种锁类型,可选值有以下几个:

LOCK_SH  取得共享锁定(从文件中读取数据时使用)

LOCK_EX 取得独占锁定(向文件中写入数据时使用)

LOCK_UN 释放锁定(无论共享或独占锁,都用它释放)

LOCK_NB 附加锁定(如果不希望flock()在锁定时堵塞,则应在上述锁定后加上该锁)。

如果锁定堵塞的话(已经被flock()锁定的文件,再次锁定时,flock()函数会挂起,这时称为锁定堵塞),也可以将第三个可选参数设定为1,则当进行锁定时会阻挡其他进程。锁定操作也可以被fclose()释放。

文件上传:

$_FILES多维数组,用于存储各种与文件上传有关的信息。

学习PHP时的一些总结(四)的更多相关文章

  1. 上四条只是我目前总结菜鸟们在学习FPGA时所最容易跑偏的地

    长期以来很多新入群的菜鸟们总 是在重复的问一些非常简单但是又让新手困惑不解的问题.作为管理员经常要给这些菜鸟们普及基础知识,但是非常不幸的是很多菜鸟怀着一种浮躁的心态来学习 FPGA,总是急于求成. ...

  2. 在学习泛型时遇到的困惑经常与func<T,U>混淆

    在学习泛型时遇到的困惑经常与func<T,U>混淆,总认为最后一个值是返回类型.现在区分一下,原来问题出在泛型委托上. C#委托的介绍(delegate.Action.Func.predi ...

  3. 浅谈学习C++时用到的【封装继承多态】三个概念

    封装继承多态这三个概念不是C++特有的,而是所有OOP具有的特性. 由于C++语言支持这三个特性,所以学习C++时不可避免的要理解这些概念. 而在大部分C++教材中这些概念是作为铺垫,接下来就花大部分 ...

  4. 学习servlet时出现的一些问题

    此篇用来记录学习servlet时遇到的一些问题,谨防以后再犯. 问题1.导入的web项目,servlet中导入的包名报错. (1)缺少相关包,推荐一个网站下载jar包很方便http://mvnrepo ...

  5. JVM学习-运行时数据区域

    目录 前言 运行时数据区 程序计数器 Java虚拟机栈 局部变量表 基础数据类型 对象引用 returnAddress 操作数栈 动态链接 方法返回地址 Java堆 方法区 类型信息 字段描述符 方法 ...

  6. python学习之路基础篇(第四篇)

    一.课程内容回顾 1.python基础 2.基本数据类型  (str|list|dict|tuple) 3.将字符串“老男人”转换成utf-8 s = "老男人" ret = by ...

  7. 【学习总结】Git学习-参考廖雪峰老师教程四-时光机穿梭

    学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...

  8. HTTP学习---TCP三次握手和四次挥手

    IP协议 首先我们看 IP(Internet Protocol)协议.IP 协议提供了主机和主机间的通信. 为了完成不同主机的通信,我们需要某种方式来唯一标识一台主机,这个标识,就是著名的IP地址.通 ...

  9. 深度学习动手入门:GitHub上四个超棒的TensorFlow开源项目

    作者简介:akshay pai,数据科学工程师,热爱研究机器学习问题.Source Dexter网站创办人. TensorFlow是Google的开源深度学习库,你可以使用这个框架以及Python编程 ...

随机推荐

  1. DOM attributes and properties

    element :attributes : DOM objects : properties 一个是元素属性的叙述性说明,它是对象属性的叙述性说明 版权声明:本文博客原创文章,博客,未经同意,不得转载 ...

  2. jvm在存储区域

    当区域执行的数据  JVM存储器的管理分为几个时间之后的数据区的实施:程序计数器.JavaVM栈.本地方法栈.Java堆.方法区(包括常量池的实现).   程序计数器 较小的内存空间,能够看作是当前线 ...

  3. 关于Java和.NET之间的通信问题(JSON)

    前言: 最近项目在某XX领导的所谓指引下,非要转型Java,转就转吧,在转的过程前期是个痛苦期,特别.NET旧有项目和Java新项目需要通信时. 进入主题,Java和.NET之间需要通信,这时媒介很多 ...

  4. 每天一个JavaScript实例-canvas绘图

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  5. ASP.NET MVC:Razor 引入命名空间

    原文:ASP.NET MVC:Razor 引入命名空间 页面中引用 c# @using MvcApplication83.Models @using MvcApplication83.Common 行 ...

  6. 64位WIN7+oracle11g+plsql

    64位WIN7+oracle11g+plsql安装 Posted on 2015-07-28 22:41 算命大师不算卦 阅读(27) 评论(0) 编辑 收藏 上部转自Oracle 11g R2 fo ...

  7. 十天学Linux内核之第六天---调度和内核同步

    原文:十天学Linux内核之第六天---调度和内核同步 心情大好,昨晚我们实验室老大和我们聊了好久,作为已经在实验室待了快两年的大三工科男来说,老师让我们不要成为那种技术狗,代码工,说多了都是泪啊,, ...

  8. ASP.Net MVC 数据处理

    ASP.Net MVC 数据处理   第三天我们将学习Asp.Net中数据处理功能,了解数据访问层,EF,以及EF中常用的代码实现方式,创建数据访问层和数据入口,处理Post数据,以及数据验证等功能. ...

  9. Crazy Rows

    Problem You are given an N x N matrix with 0 and 1 values. You can swap any two adjacent rows of the ...

  10. A hard puzzle 1097

    Problem Description lcy gives a hard puzzle to feng5166,lwg,JGShining and Ignatius: gave a and b,how ...