学习PHP时的一些总结(四)
目录的基本操作:
在系统的每个目录下都有两个特殊的目录"."和".." , 分别指示当前目录和当前目录的父目录。
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时的一些总结(四)的更多相关文章
- 上四条只是我目前总结菜鸟们在学习FPGA时所最容易跑偏的地
长期以来很多新入群的菜鸟们总 是在重复的问一些非常简单但是又让新手困惑不解的问题.作为管理员经常要给这些菜鸟们普及基础知识,但是非常不幸的是很多菜鸟怀着一种浮躁的心态来学习 FPGA,总是急于求成. ...
- 在学习泛型时遇到的困惑经常与func<T,U>混淆
在学习泛型时遇到的困惑经常与func<T,U>混淆,总认为最后一个值是返回类型.现在区分一下,原来问题出在泛型委托上. C#委托的介绍(delegate.Action.Func.predi ...
- 浅谈学习C++时用到的【封装继承多态】三个概念
封装继承多态这三个概念不是C++特有的,而是所有OOP具有的特性. 由于C++语言支持这三个特性,所以学习C++时不可避免的要理解这些概念. 而在大部分C++教材中这些概念是作为铺垫,接下来就花大部分 ...
- 学习servlet时出现的一些问题
此篇用来记录学习servlet时遇到的一些问题,谨防以后再犯. 问题1.导入的web项目,servlet中导入的包名报错. (1)缺少相关包,推荐一个网站下载jar包很方便http://mvnrepo ...
- JVM学习-运行时数据区域
目录 前言 运行时数据区 程序计数器 Java虚拟机栈 局部变量表 基础数据类型 对象引用 returnAddress 操作数栈 动态链接 方法返回地址 Java堆 方法区 类型信息 字段描述符 方法 ...
- python学习之路基础篇(第四篇)
一.课程内容回顾 1.python基础 2.基本数据类型 (str|list|dict|tuple) 3.将字符串“老男人”转换成utf-8 s = "老男人" ret = by ...
- 【学习总结】Git学习-参考廖雪峰老师教程四-时光机穿梭
学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...
- HTTP学习---TCP三次握手和四次挥手
IP协议 首先我们看 IP(Internet Protocol)协议.IP 协议提供了主机和主机间的通信. 为了完成不同主机的通信,我们需要某种方式来唯一标识一台主机,这个标识,就是著名的IP地址.通 ...
- 深度学习动手入门:GitHub上四个超棒的TensorFlow开源项目
作者简介:akshay pai,数据科学工程师,热爱研究机器学习问题.Source Dexter网站创办人. TensorFlow是Google的开源深度学习库,你可以使用这个框架以及Python编程 ...
随机推荐
- cocos2d-html5基金会
1 环境结构 版本号Cocos2d-html5-v2.2,tomcat7.0 构造tomcat.然后直接解压Cocos2d-html5-v2.2.zip.解压后根文件访问的文件夹index.html你 ...
- 使用PF_PACKET和SOCK_RAW发送自己定义type以太网数据包
本文介绍使用PF_PACKET和SOCK_RAW发送自己定义type以太网数据包,使用wireshare抓包能够获取到数据包,为Linux内核添加网络协议做铺垫. 先上码: #include < ...
- 新秀翻译(两)——使用Java通用配置模板方法模式
假设你发现你已经非常重码,你可能会考虑使用模板的方法来消除easy重复错误代码.下面是一个示例:以下两类,他完成了几乎相同的功能: 实例化并初始化一个Reader来读取CSV文件. 读取每一行并解析: ...
- 探索Scala(1)-- 运算符重载
Scala语言运算符重载全然是语法层面的小把戏,本文记录我对Scala语言运算符重载的一些理解. 方法调用语法糖 调用方法时,Scala同意省略点号和圆括号,如以下代码所看到的: 把运算符映射成单词 ...
- avalonjs1.5 入门教程
迷你MVVM框架 avalonjs1.5 入门教程 avalon经过几年以后,已成为国内一个举足轻重的框架.它提供了多种不同的版本,满足不同人群的需要.比如avalon.js支持IE6等老旧浏览器,让 ...
- Javascript学习2 - Javascript中的表达式和运算符
原文:Javascript学习2 - Javascript中的表达式和运算符 Javascript中的运算符与C/C++中的运算符相似,但有几处不同的地方,相对于C/C++,也增加了几个不同的运算符, ...
- leetcode 之 Unique Paths
Unique Paths A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagra ...
- Visual Studio GitHub For Windows部署
使用GitHub For Windows部署Visual Studio项目 因为最近同时再看很多技术方面的书,书上的例子有很多自己想亲自尝试一下,但是每次写例子都得创建一个新项目未免太麻烦,索性就整理 ...
- VisualStudio 自动排版等 快捷键
VisualStudio2010自动排版快捷键:全部代码排版:1. ctrl+E,D 按住ctrl,相继按下E.D 2. ctrl+K,F 按住ctr ...
- oracle_constraint的用处
ql中constraint主要是增加约束 这个主要就是增加约束的 以下几种约束 .并 一一列举: 1.主键约束: 主键约束:就是对一个列进行了约束,约束为(非空.不重复)要对一个列加主键约束的话,这列 ...