文件系统

如何读写文件?

$fp=fopen("test.txt","r"); 
//以只读方式打开文件,将文件指针指向文件头 
$fp=fopen("test.txt","r+"); 
//以读写方式打开文件,将文件指针指向文件头 
$fp=fopen("test.txt","w"); 
//写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建 
$fp=fopen("test.txt","w+"); 
//以读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建 
$fp=fopen("test.txt","a"); 
//以写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建 
$fp=fopen("test.txt","a+"); 
//以读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建 
$fp=fopen("test.txt","wb+"); 
//以写入方式打开二进制文件,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建 


打开/读取文件

	//readfile("upfilejson.txt");//若使用readfile方法则无须关闭文件
	
	$arr = file("upfilejson.txt");//file方法是按文件内容行读入到数组
	foreach($arr as $a){
		echo $a."<br>";
	}
	
	$str = file_get_contents("upfilejson.txt");//将文件内容读入到一个字符串
	
	$file = fopen("upfilejson.txt","rb");//读取文件设置操作权限
	
	while(!feof($file)){//feof函数检查文件指针是否到达文件结束的位置
		echo fgets($file);		
	}
	while ($char = fgetc($file)) {//通过指针读取文件每一个字符,如果不为false就输出
   		echo "$char";
	}
	
	echo fread($file,1024);//fread() 从文件指针 file 读取最多 length 个字节
fclose($file);//关闭文件

	

注意:fgetss()与 fgets() 相同,不同的是 fgetss 尝试从读取的文本中任何 HTML PHP 标记


文件写入

第一种:
$file = fopen("upfilejson.txt","w+");//读取文件设置操作权限
fwrite($file,"aaa");//写入文件
fclose($file);//关闭文件
第二种:
file_put_contents("upfilejson.txt","BB");//写入文件,默认权限为w

如何操作文件?

	copy("upfilejson.txt","upfilejson1.txt");//将路径1文件复制到路径2
	rename("upfilejson1.txt","upfilejson3.txt");//将文件重命名	
	unlink("upfilejson3.txt");//删除文件,成功返回true、失败返回false
	echo date("Y-m-d H:i:s",fileatime("upfilejson.txt"))."<br>";//返回文件最后访问的时间
	echo date("Y-m-d H:i:s",filemtime("upfilejson.txt"))."<br>";//返回文件最后修改的时间
	echo filesize("upfilejson.txt")."<br>";//返回文件大小(bytes)
	$arr = pathinfo("upfilejson.txt");//返回文件路径信息数组
	echo realpath("upfilejson.txt")."<br>";//返回文件的绝对路径
	$arr = stat("upfilejson.txt"); //返回所有文件信息数组

目录的处理

	if(is_dir("upfile")){//浏览目录
		if($dir = scandir("upfile")){
			print_r($dir);
		}
	}else{
		echo "路径错误";
		exit();
	}
	//mkdir('a'); //创建目录
	//rmdir('a'); //删除目录
	echo getcwd()."<br>"; //获取当前目录
	//chdir("../");//改变当前目录
	echo disk_free_space("D:");//返回路径剩余空间大小(b),必须绝对路径
	echo disk_total_space("D:");//返回路径空间总大小
	$dir = opendir("upfile"); 
	while($file = readdir($dir)){//返回目录下一个文件名,需要opendir
		echo $file;
	}
	closedir($dir);

远程访问文件:php.ini中找到allow_url_fopen值设为on

文件指针的应用

rewind()函数:将文件指针设为文件流的开头;
fseek()函数:移动文件指针;
feof()函数:判断指针是否在文件尾,返回布尔;
ftell()函数:返回当前文件指针位置;

锁定文件

flock(handle,operation)
LOCK_SH:取得共享锁定(读)
LOCK_EX:取得独占锁定(写)
LOCK_UN:释放锁定
LOCK_NB:防止堵塞

文件的上传

配置php.ini
file_uploads:on//服务器支持文件上传
upload_tmp_dir: //服务器默认临时文件目录
upload_max_filesize://服务器允许上传的最大值,以MB为单位默认2MB
max_execution_time://指令最多执行时间,单位为秒
memory_limit://指令分派的内存空间MB

<form name="form2" method="post" enctype="multipart/form-data" action="upload.php">
	<input name="file1" id="file1"  type="file" size="30"/>
	<input type="Submit" name="Submit1" value="提交"/>
</form>
	if(!is_dir("./upfile")){
		mkdir("./upfile");
	}	
	$path = "upfile/".$_FILES["file1"]["name"];
	echo "<br>";
	if(move_uploaded_file($_FILES["file1"]["tmp_name"],$path)){
		$flag = true;
	}else{
		$flag = false;
	}
	if($flag){
		echo "成功!";
		echo "<img src=$path style='width:80px'/>";
	}else{
		echo "失败!";
	}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值