文件系统处理基础

前言:

 其实我觉得初步学习文件系统处理就是学习一个一个的函数,只需要记住这些函数,
 那么你就初步掌握了文件管理,当然这只是基础,如果需要更深入,那么就只能上网查询更多的文献来深造了。

知识点1:认识文件类型

文件类型有七种,但是我们只记住两种就可以了:Dir[目录类型,目录也是文件的一种],File[普通文件类型]
 filetype('文件路径');
 作用:获取文件的类型
 返回值:如果路径正确返回文件的类型,否则返回 'false';

知识点2:文件属性

 file_exists('文件名');
 作用:检查文件是否存在
 返回值:文件存在返回 'true', 否则返回 'false';

 filesize('文件名');
 作用:获取文件的大小
 返回值:返回文件的字节数,出错返回 'false';

 flemtime('文件名');
 作用:获取文件的修改的时间
 返回值:返回的是时间戳

 stat('文件名');
 作用:获取文件大部分属性
 返回值:返回文件属性的数组

 cleanstatcache() 清除被php缓存的文件信息

知识点3:目录的操作

 对目录路径的解析只需要记住一个函数:pathinfo();
 pathinfo();
 作用:分解一个目录成多个部分
 返回值:返回一个关联数组,键值为 dirname、basename、extension

 遍历目录需要用到的函数有三:opendir()、readdir()、closedir();
 opendir('目录名')  返回目录的句柄[资源类型],如果目录不存在或者没有访问权限,则返回 'false';
 readdir('目录句柄') 返回文件名,并将目录指针向后移动一位。当指针位于目录的结尾时,返回 'false';
 closedir('目录句柄') 作用是关闭打开的目录;
 rewinddir('目录句柄') 作用是重置目录指针;

 新建、删除和复制目录
 mkdir('目录名') 新建目录
 rmdir('目录名') 删除空目录,如果目录下有文件,需要删除该目录下的所有文件,才能删除目录。

 unlink('文件名') 删除文件。
 copy($subsrcFile, $subtoFile) 复制文件,$subsrcFile源文件,$subtoFile目标文件
 rename('旧文件名', '新的文件名'); 重命名文件或者目录

 因此这边删除目录和复制目录都需要自己写一个递归函数才能删除,php没有给出特定的函数。

知识点4:文件的基本操作

 其实只需要记住两个函数就够了,分别是:写入[file_put_contents($filename, $data)],读取[file_get_contents($filename)]。
 如果需要严格控制文字字数,那么就需要用到以下示例了:
   //写入
   $fileName = 'data.txt';
   $handle = fopen($fileName, 'w') or die('打开文件失败');
   for ($row = 0; $row < 10; $row++){
       fwrite($handle, $row. 'my name is malikuan!', 10);
   }
   fclose($handle);

   //读取
   $fileName = 'data.txt';
   $handle = fopen($fileName, 'rb') or die('打开文件失败');
   $contents = '';
   while (!feof($handle)){
       $contents.= fread($handle, 1024);
   }
   fclose($handle);
   echo $contents;
文件锁定机制
flock($handle, LOCK_EX);文件写入数据时使用
flock($handle, LOCK_UN);文件锁的释放

知识点5:文件上传

 此前,需要了解两个php配置文件中的选项
 **upload_max_filesize**, 默认2M, 作用:限制php处理上传文件大小的最大值,必须小于post_max_size的值。
 **post_max_size**, 默认8M,作用:限制通过POST方法可以接受信息的最大值,此值应当大于配置指令upload_max_filesize的值,因为除了上传文件之外,还可能传递其他的表单域。
     // 认识全局函数 $_FILES
     $FILES['myfile']['name'];  
     //上传文件的名称,包括扩展名
     $FILES['myfile']['size'];
      // 已上传文件的大小,单位为字节
     $FILES['myfile']['tmp_name'];  
     //文件被上传后,在服务端存储的临时文件名。这是存储在临时目录中时所指定的文件名【重点】
     $FILES['myfile']['error'] ;
      //伴随文件上传时产生的错误信息。
     $FILES['myfile']['type'];  
     //获取从客户端上传文件的MIME类型,MIME类型规定了各种文件格式的类型。
     // 备注:$FILES的 'myfile' 是代表赋给文件上传表单元素(<input type='file' name='myfile'>)中name属性的值。

	bool move_uploaded_file(string filename, string destination)
	//将上传的文件移动到指定的位置
	move_uploaded_file($_FILES['myfile']['tmp_name'], $path.'/'.$filename);

知识点:6:文件下载

<a href='http://www.mamaso.cn/static/admin/book.rar'>下载文件</a>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值