目录的基本操作:

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

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. vs2015管理github代码

  2. 使用log4j日志-配置载入问题

    1.在eclipse中,把log4j.properties放在类路径下,在项目启动时就会自己主动载入. 2.在idea中.把log4j.properties放在类路径下,可是项目启动时不能直接载入(原 ...

  3. ios 串

    1.是推断包括字符串 if( [str rangeOfString:@"hello"].location != NSNotFound) { NSLog(@"yes&quo ...

  4. java.lang.IllegalStateException: You need to use a Theme.AppCompat theme

    配置: 中设置theme为 <application android:allowBackup="true" android:icon="@mipmap/ic_lau ...

  5. C++“窗体”程序设计启蒙

    [摘要]本文以C++菜菜鸟(仅仅须要学习了C++数据类型和控制结构就可以)为目标读者,用求解一元二次方程作为实例,展示窗体式程序的开发过程,获得初步体验.写作目的包含:(1)让学生通过模仿,开发出类似 ...

  6. jsScript中的一些操作方法

    1.采用dom方式对script标签进行操作 var h = document.getElementsByTagName('HEAD').item(0); var s = document.creat ...

  7. DynamicReports

    try { response.setCharacterEncoding("UTF-8"); response.setHeader("Content-disposition ...

  8. Android中的“再按一次返回键退出程序”实现[转]

    用户退出应用前给出一个提示是很有必要的,因为可能是用户并不真的想退出,而只是一不小心按下了返回键,大部分应用的做法是在应用退出去前给出一个Dialog,我觉得这样不太友好,用户还得移动手指去按dial ...

  9. 采纳ajax提交POST样本数据

    问题叙述性说明 我们会form该input和checkbox提交给异步数据phpserver.处理后的回. 提交之后显示的位置: 难点分析 採用from表单的onsubmit属性阻止表单的提交 < ...

  10. HttpClient模拟客户端请求实例

    HttpClient Get请求: /// <summary>        /// Get请求模拟        /// </summary>        /// < ...