php lesson~文件相关(文件函数,文件上传数据处理)
文件开闭:
fopen($file,"r"):打开文件
$file:url格式/本地文件(必须有访问权限;
“r”:文件访问类型===>
mode | 访问方式 | 文件指针 | 写入形式 |
r | 只读 | 文件头 | |
r+ | 读写 | 文件头 | |
w | 写入 | 文件头,并将文件大小截为0 | 覆盖原有内容 |
w+ | 读写 | 文件头,并将文件大小截为0,文件不存在则创建 | |
a | 写入 | 文件末尾,文件不存在则创建 | |
a+ | 读写 | 文件末尾,文件不存在则创建 | 在原有内容基础上写入 |
fclose():关闭文件
文件读取:
fread($file,$length):读取文件
$length:文件指针最多读取length个字节
停止读取:读取了length字节、到达文件末尾(EOF)
fgets($fp):逐行读取文件
文件指针:
feof($fp):判断文件指针是否到了结束位置
到达末尾返回true,反之false
//结合文件的逐行读取fgets:
while(!feof($fp)){
//读取前先判断是否到了结尾,到结尾则条件为false,不会再读取
$string = fgets($fp);
echo $string;
}
fseek($fp,$length):在文件指针中定位
$length:值指针从文件头开始以字节数度量的新位置
应用:写入文件,写入之后指针在末尾,下次读取时需要将指针设置为0的位置
fwrite($fp,"123");
fseek($fp,0);//将指针位置移动到0的位置读取
fread($fp);
fwrite($string,"a+"):写入文件
文件数据处理
文件通过表单上传时要在form表单中写入:enctype="multipart/form-data
$_FILES :接收上传文件的信息,原始数据如下:
nae 上传的文件原文件名,不代表文件,仅仅是
move_uploaded_file($filename,$destination):将上传文件移动到新的位置
$filename:临时路径
$destination:目标路径
返回值:成功返回true,不成功返回false(可以作为判断条件)
只拷贝上传的文件,非上传文件不会被拷贝(点击上传以后拷贝)
//文件只是单纯拷贝文件名,之后就会自动消失,所以要判断文件是否移动成功;
if(move_uploaded_file($upfile['tmp_name'],$upfile['name'])){
return $upfile['name'];
};
copy(上传原文件路径,目标路径)