文件系统处理
filetype("文件名") //获取文件类型(dir,file)
is_dir()
is_file()
mkdir("目录名")//创建目录
rmdir()//删除目录,只能删除一个空目录并且目录必须存在
unlink()//删除文件
file()//可以把整个文件读入到一个数组中
readfile()//读取指定的整个文件
file_exists() filesize() is_readable() is_writable() is_executable() filectime() filemtime() fileatime() basename()
dirname() pathinfo()【extension】 opendir() readdir() closedir() rewinddir() fopen() fread() fwrite() fputs() fclose()
file_put_contents() file_get_contents() copy() rename() ftruncate()
//文件上传
//通过$_POST方法上传的文件有关信息被存储在多维数组$_FILES中
$_FILES['filename']['name'] $_FILES['filename']['size'] $_FILES['filename']['tmp_name'] $_FILES['filename']['type'] $_FILES['filename']['error']//0为成功
is_uploaded_file($_FILES['filename']['tmp_name']) //必须通过这个变量判断是否通过HTTP POST上传的
move_uploaded_file($_FILES['filename']['tmp_name'],"新的路径");
数组常用函数
$_SERVER $_GET $_POST $_REQUEST $_FILES $COOKIE $_SESSION $_GLOBALS //预定义数组
array_values() array_keys() in_array(mixed needle,array haystack) array_search("值",数组)【得下标】 array_key_exists()
array_flip() 【交换数组中的键和值】 array_reverse(array,bool) 【元素顺序反转】
count(mixed var [,int mode]) 【第二个参数默认为0 ,为1则检测多维数组个数】
array_count_values() 【所有值出现的次数】 array_unique() 【删除数组中重复的值】
array_filter(array input [,callback]) 【用回调函数过滤数组中的元素】 array_walk(),array_map()
sort() rsort()
array_slice(array,int offset[,int length])//根据条件取出一段值并返回
array_combine()//合并两个数组来创建一个新数组,其中一个是数组是键名,另一个数组是健值
array_merge()//把一个或多个数组合并成一个数组,如过键名有重复,后面的覆盖前面的,而+两个数字健值相同的不覆盖。
array_push(array,mixed var) 【数组的尾部添加一个或者多个元素,返回新数组的长度】 array_pop()【删除数组中最后一个元素,返回删除的值】 array_shift() 【删除第一个元素】
array_rand(array input[,int num_req])//随机选出一个或多个元素并返回健值
shuffle(array)//把数组中的元素按随机顺序重新排序
array_sum() //返回数组中所有值的总和
range(mixed first,mixed second[,number step]) //创建并返回一个包含指定范围的元素的数组
unset()//删除数组中的一个元素
字符串常用函数
//查找字符位置函数
strpos($str,search[,int])//查找search在$str中第一次位置从int开始
strrpos($str,search[,int])//查找search在$str中最后一次出现的位置从int开始
//提取字符函数
substr($str,int start[,int length])//从$str中start位置开始提取length长度的字符串
strstr(string,search[,bool])//查找search在string中的第一次出现,并返回从该位置到字符串结尾的所有字符
,第三个参数默认为false,为true时,返回的是第一次出现之前的字符串 stristr【只是不区分大小写】
strrchr(string,search)//查找search在string中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符
str_replace(find,replace,string) strlen()//长度
str_split(string[,length])//函数把字符串分割到数组中,length规定每个数组元素的长度
addslashes(string) //返回预定义字符前添加反斜杠的字符串
htmlspecialchars(string)//把预定义字符转换为html实体
explode(separator,string)//把字符串打散为数组,以separator处分割
implode(separator,array)//由数组元素组合成的字符串 join()别名
trim(string,charlist),ltrim(),rtrim()//去除两边|左侧|右边空白或者其他字符
ucfirst(),lcfirst(),ucwords()//首字母大写|小写|每个单词首字母大写
strtolower(),strtoupper()//把字符串转换为小|大写
nl2br()//在字符串中的每个新行(\n)之前插入html换行符<br>
strrev()
文件的属性
函数名 |
作用 |
参数 |
返回值 |
file_exists |
检查文件或目录是否存在 |
文件名 |
文件存在TRUE 不存在FALSE |
filesize |
取得文件大小 |
文件名 |
返回文件大小的字节数,出错返回FALSE |
is_readable |
判断给定文件名是否可读 |
文件名 |
如果文件存在且可读则返回TRUE |
is_writable |
判断给定文件名是否可写 |
文件名 |
如果文件存在且可读写则返回TRUE |
is_executable |
判断给定文件名是否可执行 |
文件名 |
如果文件存在且可执行返回TRUE |
filectime |
获取文件的创建时间 |
文件名 |
返回UNIX时间戳格式 |
filemtime |
获取文件的修改时间 |
文件名 |
返回UNIX时间戳格式 |
fileatime |
获取文件的访问时间 |
文件名 |
返回UNIX时间戳格式 |
解析目录路径
函数名 |
作用 |
参数 |
basename |
路径中得到文件名 |
指向文件的全路径[文件扩展名](有第二个参数,则输出没有扩展名) |
dirname |
路径中得到去掉文件名后的目录名 |
指向文件的全路径的字符串 |
pathinfo |
返回一个关联数组 其中包括指定路径中的目录名dirname、基本名basename和扩展名extension |
指向文件的全路径的字符串 |
opendir |
用于打开指定目录 返回一个目录句柄 |
一个目录的路径及目录名作为参数 |
readdir |
用于读取指定目录 返回当面目录指针位置的一个文件名,并将目录指针向后移动一位 |
已经用opendir()打开的目录句柄 |
closedir |
关闭指定目录 |
已经用opendir()打开的目录句柄 |
rewinddir |
倒回目录句柄即倒回目录的开头 |
目录句柄 |
遍历目录小例子
$dir_handle = opendir($dirname);//打开目录 ,返回目录句柄
//使用readdir循环读取目录里的内容
while($file=readdir($dir_handle)){
$dirFile = $dirname.'/'.$file;
echo filesize($dirFile);
echo filetype($dirFile);
echo date("Y/n/t",filemtime($dirFile));
}
closedir($dir_handle);
文件的基本操作
fopen(filename,r|r+|w|w+|a|a+)//打开文件URL 返回资源 ,r+(读写),w+(读写方式打开,从开始写),x+(创建并以读写方式打开),a+(写入方式打开,将文件指针指向文件末尾)
fclose();//撤销fopen打开的资源类型
fwrite(resource handle,string string[,int length])//写入文件
fputs()和fwrite()相似
fread(int handle,int length)//读取打开的文件
file_put_contents($filename,$data)//和依次调用fopen(),fwrite(),fclose()函数的功能一样
file_get_contents($filename)//读取文本文件中的内容
读取文件内容小例子
//从文件中读取指定字节数的内容存入到一个变量中
$handle = fopen($filename,"r") or die("文件打开失败"); //以只读的方式打开文件
$contents = fread($handle,100);//从文件中读取前100个字节
fclose($handle);
echo $contents;
//从文件中读取全部内容存入到一个变量中,每次读取一部分,循环读取
$handle = fopen($filename,"rb") or die("文件打开失败");//b为二进制模式
$contents="";
while(!feof($handle)){ //使用feof()判断文件结尾
$contents .=fread($handle,1024);
}
fclose($handle);
echo $contents;
//另一种从文件中读取全部内容的方法
$handle = fopen($filename,'r') or die("文件打开失败");
$contents = fread($handle,filesize($filename));
fclose($handle);
echo $contents;
//最简单的
echo file_get_contents("data.txt");
echo file_get_contents("c:\\files\\somepic.gif"); //读取二进制文件中的内容输出
文件的一些基本操作函数
函数名 |
语法结构 |
描述 |
copy |
copy(来源文件,目标文件) |
复制文件 |
unlink |
unlink(目标文件) |
删除文件 |
ftruncate |
ftruncate(目标文件资源,截取长度) |
将文件截取到指定的长度 |
rename |
rename(旧文件名,新文件名) |
重命名文件或目录 |
常用方法常量
getcwd() //获取当前工作目录
DIRECTORY_SEPARATOR //路径分隔符,window系统中为 “\”,linux系统中为“/”
PHP_EOL //换行,window系统相当于 “\r\n”
补充
parse_url()//path:文件的路径 query:请求的参数
parse_str()//将query字符串变成关联数组
http_build_query()//将关联数组转化成query字符串
floor() //舍去法取整
ceil() //进一法取整
round() //四舍五入
get_class_vars()//返回由类的默认属性组成的数组