学习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编程 ...
随机推荐
- python使用smtplib库和smtp.qq.com邮件服务器发送邮件(转)
使用qq的邮件服务器需要注意的两个地方主要是: 1.协议问题 使用465端口 SSL 协议 2.口令问题 出现SMTPAuthenticationError 主要的原因就是口令和帐号信息不对,这里我们 ...
- 设计管理员表;webservice用于网络安全的高端内提供服务的
admin表设计.你应该有角色表,管理员属于一个样的作用,另一个接口选项,以查看表.角色有更多的选择的能力. 角色和选项代表了许多关系,因此,我们必须保持这种关系有一个表 版权声明:本文博客原创文章, ...
- pydev-python 链接mysql数据库(mac系统)
1.首先,实现了命令行可以运行mysql 非常清楚了,直接引用过来,多谢哈.引用:http://www.lihui.info/mac-pydev-mysqldb/ ...
- Lucene于Directory
MMapDirectory从继承FSDirectory,抵抗jre至今未能解决Mmap close不回收空间(直到full gc恢复之前,)的bug,lucene使用hack资料恢复(只要sun ja ...
- Chromium on Android: Android在系统Chromium为了实现主消息循环分析
总结:刚开始接触一个Chromium on Android时间.很好奇Chromium主消息循环是如何整合Android应用. 为Android计划,一旦启动,主线程将具有Java消息层循环处理系统事 ...
- 如何有效地记录 Java SQL 日志(转)
在常规项目的开发中可能最容易出问题的地方就在于对数据库的处理了,在大部分的环境下,我们对数据库的操作都是使用流行的框架,比如 Hibernate . MyBatis 等.由于各种原因,我们有时会想知道 ...
- C++“窗体”程序设计启蒙
[摘要]本文以C++菜菜鸟(仅仅须要学习了C++数据类型和控制结构就可以)为目标读者,用求解一元二次方程作为实例,展示窗体式程序的开发过程,获得初步体验.写作目的包含:(1)让学生通过模仿,开发出类似 ...
- HDU 2082-找单词(母函数)
找单词 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...
- HTTP必知必会(转)
HTTP协议作为网络传输的基本协议,有着广泛的应用.HTTP协议的完整内容很多,但是其核心知识却又简单精炼.学习者应该掌握其基本结构,并且能够举一反三.这篇文章所列的,就是在实际开发中必须知道必须掌握 ...
- 经典弹出层Colorbox - a jQuery lightbox
Colorbox - a jQuery lightbox A lightweight customizable lightbox plugin for jQuery Fork me on GitHub ...