PHP学习笔记七、文件操作

一、PHP文件系统简介

1、获取目标文件的类型

filetype(filename):文件名要带上路径

<?php
//“./表示当前路径;../表示上级路径”
echo filetype("./demo.php");//output:file:文件
echo filetype("../7");//output:dir:目录
?>

2、判断文件或者目录是否存在

bool file_exists(path)

二、文件访问权限

1、修改文件的权限(一般用命令修改)
chmod(file,mode):只能用于linux操作系统

<?php
chmod("./test.txt", 0600);
?>

三、文件的基本操作

对文件的操作最常见的就是读、写,以及使用函数对相关返回字符串进行处理和打印,这些常用操作在PHP中都可以利用内置的函数快速完成。

1、打开与关闭

<?php
$file=fopen("/home/test/test.txt","r")//返回值是资源    
fclose($file); 
?>	

打开模式

<?php
//1、打开文件
//2、读、写
//3、保存关闭
//以"r"方式,打开一个没有的文件会报错
$fp=fopen("./data.txt", "r");
fclose($fp);
//以"r+"方式,打开一个没有的文件会报错
$fp=fopen("./data.txt", "r+");
fclose($fp);
//以"w"方式打开一个没有的文件,会创建一个新文件
$fp=fopen("./data.txt", "w");
fclose($fp);
var_dump($fp);
?>

2、PHP读取内容


<?php
//以只读方式打开一个文件
 $fp=fopen("./data.txt", "r");
 //一直读取到文件末尾
 while (!feof($fp)) {
 	//一次读取5个字符
 	echo fread($fp, 5)."<br/>";
 }
 //关闭资源
 fclose($fp);
?>

file(path):一般用于读取本地文件

<?php
$result= file("./data.txt");//返回值是数组
print_r($result);
?>

file_get_contents(path):一般用于读取远程的文件

<?php
//返回值是字符串(返回远程文件的源码)
echo file_get_contents("http://www.baidu.com/index.php");
?>

3、PHP写入内容

有三种方式:r+、w、a

<?php
$fp=fopen("./data.txt", "w");
fwrite($fp, "穿跟IT教育");
fclose($fp);
?>

计数器

<?php
$fp=fopen("./data.txt", "r");
$num=fread($fp, 20);
fclose($fp);

$fp=fopen("./data.txt", "w");
fwrite($fp, $num+1);
fclose($fp);

//用图片数字显示
$arr=str_split($num);
foreach ($arr as $v) {
	echo "<img src='./image/red_num_0".$v.".png' ";
}
?>

4、删除文件

unlink(filename)

<?php
unlink("./data.txt");
?>

5、拷贝文件

bool copy(string $source,string $dest);

<?php
copy("./date.txt", "./demo.txt");
?>

四、目录的基本操作

1、新建目录

mkdir

<?php
mkdir("./abc");//创建"abc"文件夹
?>

2、删除目录

rmdir(path):只能删除空目录

<?php
rmdir("./abc");//删除"abc"文件夹
?>
//删除非空目录  
<?php
function fun_delete($dir){
	$od=opendir($dir);
	//读取两次,排除"."和".."
	readdir($od);
	readdir($od);
	while (false!==($file=readdir($od))) {
		//如果是目录
		if (is_dir($dir."/".$file)) {
			fun_delete($dir."/".$file);
		}
		//如果是文件
		else{
			//删除文件
			unlink($dir."/".$file);
		}
	}
	closedir($od);
	rmdir($dir);//删除自己
}
//删除image目录下的所有文件(包括自己)
fun_delete("./image");
?>

3、重命名和移动

rename

<?php
rename("./data.txt", "./test.txt");//重命名文件
rename("./abc", "./test");//重命名文件夹
rename("./image/02.png", "./02.png");//移动文件
?>

4、遍历目录

<?php
//第一种方式
$od=opendir("./image");//返回的是资源
while (false!==($file=readdir($od))) {
	echo $file."<br/>";
}
closedir($od);
//第二种方式
$result= scandir("./image");//返回值是数组
print_r($result);
?>
posted @ 2016-01-25 17:29  liujf  阅读(172)  评论(0编辑  收藏  举报