dirname($path) 返回路径中的目录部分basename($path [,$suffix]) 返回路径中的文件名部分pathinfo($path [,$options]) 返回文件路径的信息(数组元素:dirname,basename,extension)realpath($path) 返回规范化的绝对路径名copy($source, $dest) 拷贝文件unlink($file) 删除文件rename($old, $new) 重命名或移动一个文件或目录mkdir($path [,$mode [,$recursive]]) 新建目录$mode表示权限,默认0777$recursive表示可创建多级目录,默认falsermdir($dir) 删除目录(目录必须为空,且具有权限)file_exists($file) 检查文件或目录是否存在is_file($file) 判断文件是否存在且为正常的文件is_dir($file) 判断文件名是否存在且为目录is_readable($file) 判断文件或目录是否可读is_writable($file) 判断文件或目录是否可写is_executable($file) 判断给定文件名是否可执行is_link($file) 判断给定文件名是否为一个符号连接tmpfile(void) 建立一个临时文件tempnam($dir, $prefix) 在指定目录中建立一个具有唯一文件名的文件file($file) 把整个文件读入一个数组中fopen($filename, $mode [,$use_include_path])$mode参数:(加入'b'标记解决移植性)'r'只读方式打开,将文件指针指向文件头。'r+'读写方式打开,将文件指针指向文件头。'w'写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。'w+'读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。'a'写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。'a+'读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。'x'创建并以写入方式打开,将文件指针指向文件头。'x+'创建并以读写方式打开,将文件指针指向文件头。fclose($handle) 关闭一个已打开的文件指针fread($handle, $length) 读取文件(可安全用于二进制文件)fwrite($handle, $string [,$length]) 写入文件(可安全用于二进制文件)rewind($handle) 倒回文件指针的位置ftell($handle) 返回文件指针读/写的位置fseek($handle, $offset [,$whence]) 在文件指针中定位feof($handle) 测试文件指针是否到了文件结束的位置fgets从文件指针中读取一行fgetss从文件指针中读取一行并过滤掉HTML标记flock($handle, $opt) 轻便的咨询文件锁定$opt:LOCK_SH 取得共享锁定(读取的程序);LOCK_EX 取得独占锁定(写入的程序);LOCK_UN 释放锁定(无论共享或独占)readfile($file) 读入一个文件并写入到输出缓冲fflush($handle) 将缓冲内容输出到文件touch($file [,$time [,$atime]]) 设定文件的访问和修改时间fileatime取得文件的上次访问时间filectime取得文件的inode修改时间filegroup取得文件的组fileinode取得文件的inodefilemtime取得文件修改时间fileowner取得文件的所有者fileperms取得文件的权限filesize取得文件大小filetype取得文件类型 获取/设置文件信息#扩展Fileinfo,配置php.ini#extension=php_fileinfo.dll
finfo_open([$opt]) //创建一个文件信息资源
finfo_file($finfo, $file [,$opt]) //获取文件信息
finfo_set_flags($finfo, $opt) //设置文件信息项
finfo_close($finfo) //关闭文件信息资源
mime_content_type($file) //获取文件的MIME类型
$opt参数选项:
FILEINFO_MIME_ENCODING 文件编码类型
FILEINFO_MIME_TYPE 文件MIME类型//目录
chdir($dir) 改变当前目录
chroot($dir) 将当前目录改变为当前进程的根目录closedir($handle) 关闭目录句柄dir($dir) 返回一个目录的实例对象getcwd() 取得当前工作目录opendir($path) 打开目录句柄readdir($handle) 从目录句柄中读取条目rewinddir($handle) 倒回目录句柄scandir($dir [,$order]) 列出指定路径中的文件和目录glob($pattern [,$flags]) 寻找与模式匹配的文件路径$flags:
GLOB_MARK-在每个返回的项目中加一个斜线
GLOB_NOSORT-按照文件在目录中出现的原始顺序返回(不排序)
GLOB_NOCHECK-如果没有文件匹配则返回用于搜索的模式
GLOB_NOESCAPE-反斜线不转义元字符
GLOB_BRACE- 扩充 {a,b,c} 来匹配 'a','b' 或 'c'GLOB_ONLYDIR-仅返回与模式匹配的目录项
查找多种后缀名文件:glob('*.{php,txt}',GLOB_BRACE);
//新建ZipArchive对象
$zip = newZipArchive;//打开ZIP文件
$zip->open($file [,$flags]);$flags:
ZIPARCHIVE::OVERWRITE 覆盖(不存在会自动创建)
ZIPARCHIVE::CREATE 添加(不存在会自动创建)
ZIPARCHIVE::EXCL
ZIPARCHIVE::CHECKCONS//关闭正在处理的ZIP文件
//解压缩ZIP文件
$zip->extractTo($dest, [$entries]);$dest:解压到的文件夹,$entries:解压的条目//添加文件到ZIP文件
$zip->addFile($file, [$newname]);$newname可以为"dir/file",这样可以将文件添加到压缩文件中的某个目录下。其他函数也如此。//添加文件到ZIP文件,而内容来自字符串
$zip->addFromString($file, $str);//添加空文件夹到ZIP文件
$zip->addEmptyDir($dir);//通过索引删除ZIP中的文件或文件夹
$zip->deleteIndex($index);//通过名称删除ZIP中的文件或文件夹
$zip->deleteName($name);//设置ZIP文件注释
$zip->setArchiveComment($str);//获取ZIP文件注释
$zip->getArchiveComment();//通过索引获取文件内容
$zip->getFromIndex($index);//通过名称获取文件内容
$zip->getFromName($name);//获取索引文件的文件名称
$zip->getNameIndex($index);//通过索引重命名文件
$zip->renameIndex($index, $newname);//通过名称重命名文件
$zip->renameName($name, $newname);//若将文件夹内容打包成ZIP文件,需循环文件夹的所有目录及文件
function addFileToZip($path, $zip) {//打开当前文件夹$path
$handle = opendir($path);//循环读取子文件夹及文件
//为防止文件名本身可被转换为false的情况(比如为"0"),则需用不全等!==
while ($file = readdir($handle) !== false) {//过滤假文件夹
if ($file != '.' && $file != '..') {//对于子文件夹则递归调用本函数
if (is_dir($path . '/' . $file)) {
addFileToZip($path.'/'.$file, $zip);
}else{//将文件添加到ZIP对象
$zip->addFile($path . '/' . $file);
}
}
}//关闭文件夹$path
closedir($path);
}//----- END 解压缩 ----- //
enctype="multipart/form-data" //FORM标签必须的属性
$_FILES上传文件信息数组变量
error 上传错误信息0无错误1 文件大小超过php.ini配置1) upload_max_filesize 允许上传的最大文件大小2) post_max_size 最大的POST数据大小3) memory_limit 每个脚本能够使用的最大内存数量(默认128MB)2文件大小超过浏览器表单配置
MAX_FILE_SIZE 表示表单数据最大文件大小,该元素需在文件上传域之前。(默认2M)
3文件只有部分被上传4文件没有被上传6,7临时文件写入时失败6找不到临时文件7文件写入失败
name 文件名
type 文件类型
tmp_name 上传文件临时路径
size 文件大小move_uploaded_file($path, $newpath); //将上传的文件移动到新位置
is_uploaded_file($file) //判断是否为POST上传的文件
//多文件上传
//HTML中以数组提交
$_FILES['updfile']['tmp_name'][0] //服务器端可访问第一个文件的临时路径,其他属性类似
//php.ini配置
file_uploads =On 是否允许HTTP上传文件
upload_max_filesize 上传文件大小限制,默认为2M
post_max_size post方式表单数据总大小限制,默认为8M
upload_tmp_dir 上传文件临时目录,默认是系统临时目录
需设置上传文件临时目录,给其最小权限
GET方式的最大传输量为2KFORM表单中的name值可用名称加中括号的形式,在$_POST获取表单数据时,可多项提交形成数组。
比如多文件上传file,复选框提交checkbox等。
$id = $_POST['id']; //则可获得全部被选中的复选框值,形成索引数组
如果name值为:
$id = $_POST['id']; //则可获取所有name为id[...]的值,形成管理数组