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 :接收上传文件的信息,原始数据如下:

  array(1) {
    ["fileup"]=>
    array(5) { ["name"]=> string(10) "enemy2.png"
    ["type"]=> string(9) "image/png"
    ["tmp_name"]=> string(45) "/Applications/XAMPP/xamppfiles/temp/phptoEbcS"
    ["error"]=> int(0)
    ["size"]=> int(175749) }
  } 
获取:$file=$_FILES["fileup"]
获取文件信息:
$name=$file["name"];--文件名
$type=$file["type"];----文件类型
$size=$file["filesize"];--文件的大小
$error=$file["error"];---文件错误信息
$tam=$file["tmp_name"];-上传文件的临时路径
 

         nae 上传的文件原文件名,不代表文件,仅仅是

 

move_uploaded_file($filename,$destination):将上传文件移动到新的位置

$filename:临时路径

$destination:目标路径

返回值:成功返回true,不成功返回false(可以作为判断条件) 

只拷贝上传的文件,非上传文件不会被拷贝(点击上传以后拷贝)

//文件只是单纯拷贝文件名,之后就会自动消失,所以要判断文件是否移动成功;
if(move_uploaded_file($upfile['tmp_name'],$upfile['name'])){ return $upfile['name']; };

 

copy(上传原文件路径,目标路径)

 

 

posted @ 2017-11-10 22:09  云淡风轻xin  阅读(281)  评论(0编辑  收藏  举报