目录的基本操作:

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

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. registerForRemoteNotificationTypes: is not supported in iOS 8.0 and

    注册模式: if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) { [[UIApplication sharedA ...

  2. Android清除缓存功能来实现

    我们都知道在Android的设置->应用程序中能够查看应用程序的相关信息,当中有一个功能是清除缓存. 如图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZ ...

  3. 【安德鲁斯】于java代码集drawableLeft给予适当的大小如何,当?

    textView.setCompoundDrawables(drawable, null, null, null);如果看不到图片,这是由于需要手动定drawable适当的大小,使用drawable. ...

  4. JAVA深入研究——Method的Invoke方法(转)

    在写代码的时候,发现Method可以调用子类的对象,但子类即使是改写了的Method,方法名一样,去调用父类的对象也会报错,虽然这是很符合多态的现象,也符合java的动态绑定规范,但还是想弄懂java ...

  5. Codeforces 448 D. Multiplication Table

    二分法判断答案 D. Multiplication Table time limit per test 1 second memory limit per test 256 megabytes inp ...

  6. Git与TortoiseGit基本操作(转)

    1. GitHub操作 本节先简单介绍 git 的使用与操作, 然后再介绍 TortoiseGit 的使用与操作. 先看看SVN的操作吧, 最常见的是 检出(Check out ...), 更新 (U ...

  7. hdu 4445 Crazy Tank (暴力枚举)

    Crazy Tank Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  8. 第4章 建造者模式(Builder Pattern)

    原文 第4章 建造者模式(Builder Pattern) 定义 将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式. 实用范围 1 当创建复杂对象 ...

  9. 经典算法题每日演练——第八题 AC自动机

    原文:经典算法题每日演练--第八题 AC自动机 上一篇我们说了单模式匹配算法KMP,现在我们有需求了,我要检查一篇文章中是否有某些敏感词,这其实就是多模式匹配的问题. 当然你也可以用KMP算法求出,那 ...

  10. HDU 4932 Miaomiao&#39;s Geometry(推理)

    HDU 4932 Miaomiao's Geometry pid=4932" target="_blank" style="">题目链接 题意: ...