PHP学习笔记之PHP操作(二)
2016-12-31 15:09
435 查看
一.打开和关闭文件
1.fopen()函数将resource绑定到一个流或句柄。绑定之后,脚本就可以通过句柄与此资源交互;
//以只读方式打开一个位于本地服务器的文本文件; $fn = fopen("test.txt","r"); //以只读方式打开一个远程文件 $fn2 = fopen("http://www.baidu.com","r");
2.fclose(handle)
将 handle 指向的文件关闭 。如果成功则返回 TRUE,失败则返回 FALSE;虽然每个请求最后都会自动关闭文件,但明确的关闭打开的所有文件是一个好的习惯
fclose($fn)
二.读取文件
php 提供了很多从文件中读取数据的方法,不仅可以一次只读取一个字符,还可以一次读取整个文件。1.fread(handle,length)函数从handle指定的资源中读取length个字符,当到达EOF或读取到length个字符时读取将停止。如果要读取整个文件,使用filesize(handle)函数获取文件的字数来应该读取的字符数;
2.fgets(handle)函数从handle指定的资源中读取一行字符。feof() 函数检测是否已到达文件末尾 (eof)。
3.file(url)函数将文件读取到数组中,各元素由换行符分隔。
4.filegetcontents(url)函数将文件内容读到字符串中;
//以只读的方法打开文件"text.txt"; $file = fopen("text.txt","r"); //读取$file中所有字符 $con1 = fread($file,filesize("text.txt")); //输出 echo "$con1"; //声明一个空变量 $con2 = ""; //while循环获取读取整个文件 while(!feof($file)){ //如果未读取到文件结尾就一直读取,拼接,直到获取到文件结尾处 $con .- fgets($file); } echo "$con2"; // 将文件读取到数组中 $arr = file("text.txt"); //输出该数组 print_r($arr); //将"text.txt"文件内容读取到字符串中 $con3 = file_get_contents(("text.txt")); echo "$con3"; //关闭文件 fclose($file);
三.写入文件
fwrite(fandle,string,length)
函数将string的内容写入到由handle指定的资源中。如果指定length参数,将在写入Length个字符时停止
file_put_contents(url,str)
函数将一个字符串写入文件,与依次调用fopen(),fwrite(),fclose()功能一样
//以只写的方法打开"text.txt"文件 $file = fopen("text.txt","w"); //在该文件写入"输入的内容" fwirte($file,"输入的内容"); //关闭该文件 fclose($file); //此为以上代码缩写形式 file_put_contents("text.txt","写入的内容")
四.解析目录路径的函数
basename(path,suffix)返回路径"path"中的文件名部分,当指定了可选参数suffix会将这部分内容去掉
dirname(path)返回路径"path"中的目录部分
pathinfo(path)返回一个关联数组,其中包括路径中得三个部分:目录名,文件名,扩展名
$_SERVER["SCRIPT_FILENAME"]获取当前文件路径
//声明路径为当前文件路径 $path = $_SERVER["SCRIPT_FILENAME"]; //获取当前文件名,去掉php后缀 $filename = basename($path,".php"); //输出当前文件名 echo "$filename"; //获取路径所在的目录 $dirname = dirname($path); echo "$dirname"; //获取路径的关联数组 $arr = pathinfo($path); print_r($arr); //输出当前文件路径 echo $_SERVER["SCRIPT_FILENAME"];
五.其他文件操作函数
filesize(handle)取得文件的小大,以字节为单位
filectime(url)取得文件的创建时间,以unix时间戳返回
fileatime(url)返回文件的最后改变时间;
filemtime(url)返回文件的最后修改时间;(注:"最后改变时间"不同于"最后修改时间".最后改变时间指的是对文件inode数据的任何改变,包括改变权限,所属组,拥有者等;而最后修改时间指的是对文件内容的修改);
file_exists(url)检查文件或者目录是否存在,返回bool值
is_readable(url)判断文件是否可读,返回bool值
is_writable(url)判断文件是否可写,返回bool值
date_default_timezone_set("Asia/Shanghai")时区设置
date("Y-m-d H:i:s",time)时间格式
//设置时区 date_default_timezone_set("Asia/Shanghai"); //获取文件的创建时间 $time = filectime("text.txt"); //设置时间的格式 echo date("Y-m-d H:i:s",$time); //判断文件是否可读 if(is_readable("text.txt")){ echo "可读" }else{ echo "不可读" } //判断文件是否可写 if(is_writeable("text.txt"){ echo "可写" }else{ echo "不可写" })
六.读取目录
opendir(url)打开目录句柄
closedir(handle)关闭目录句柄
readdir()返回由dir_handle指定目录的各个元素,可以使用此函数列出给定目录中的所有文件和子目录,失败返回false;
scandir(directory)返回一个包含由 directory 指定路径中的文件和目录的数组,失败返回false;
rmdir(pathname)删除目录,注意:目录必须为空,否则报错;
mkdir(pathname)尝试新建一个由 pathname 指定的目录
//访问当前文件目录 $dir = opendir("."); //用while循环获取当前目录的所有子目录 while($filename = readdir($dir)){ echo "$filename"."<br>"; } //获取当前目录子目录文件数组 $arr = scandir("."); print_r($arr); //创建目录"abc" mkdir("abc"); //删除目录 //rmdir("abc"); //获取子目录"abc"中的目录数组 $arr2 = scandir("abc"); print_r($arr2); //删除 "abc" 里的所有文件 for( $i = 2 ; $i < count($arr); $i++){ echo "$arr[$i]"; unlink("abc/".$arr[$i]); } //删除"abc"目录 rmdir("abc");
七.复制移动删除文件
copy(source,dest)将文件从cource拷贝到dest,如果成功则返回true,失败则返回false
rename(oldname,newname)改文件名,返回bool值
unlink(url)删除文件,返回bool值
相关文章推荐
- php学习笔记之文件操作
- PHP学习笔记之三 数据库基本操作
- PHP学习笔记--文件目录操作(文件上传实例)
- 韩顺平PHP学习视频笔记整理004html基本操作续--课后作业
- 【小白笔记】PHP学习之路 (24) --文件处理与目录操作 is_dir mkdir getcwd chdir rmdir
- php学习笔记(四)之发送邮件02 详细操作
- php学习笔记(九)文件相关的处理操作
- PHP操作MongoDB配置与学习笔记
- php学习笔记(十七)简单的数据库操作链接
- 韩顺平PHP学习视频笔记整理004html基本操作
- PHP学习笔记--第六章 .文件和目录操作
- PHP操作XML文件学习笔记
- PHP学习笔记--字符串操作
- PHP学习笔记-----memcached命令行操作汇总
- php学习笔记7-(数组操作)
- PHP学习笔记之三:数据库基本操作
- PHP学习笔记(2)--PHP数据库操作基本知识
- php学习笔记1---文件的相关操作
- 【小白笔记】PHP学习之路 (25) --文件判断与操作
- 学习PHP操作MySQL数据库的函数笔记