PHP第八章笔记-文件与目录操作

一、判断普通文件和目录

1.is_file()//判断给定文件名是否为一个正常的文件
2.is_dir()//判断给定文件名是否是一个目录

二、文件的属性

1.file_exists()//检查文件或目录是否存在
2.filesize()//取得普通文件大小
3.is_readable()//判断给定文件名是否可读
4.is_writable()//判断给定的文件名是否可写
5.filectime()//获取文件的创建时间
6.filemtime()//获取文件的修改时间
7.fileatime()//获取文件的上次访问时间
8.stat()//获取文件大部分属性值

三、目录的基本操作

1.basename()//返回路径中的文件名部分
2.dirname()//返回路径中的目录部分
3.pathinfo()//返回文件路径的信息
4.opendir()//打开目录句柄
5.readdir()//从目录句柄中读取条目,返回目录中下一个文件的文件名
6.rewinddir()//倒回目录句柄
7.closedir()//关闭目录句柄
8.mkdir()//新建目录
9.rmdir()//删除指定的空目录
10.scandir()//列出指定路径中的文件和目录

四、文件的基本操作

1.fopen()//打开文件或者URL
2.fread()//读取文件
3.fgets()//从文件指针中读取一行
4.feof()//测试文件指针是否到了文件结束的位置
5.fwrite()//写入文件
6.rewind()//倒回文件指针的位置
7.flock()//轻便的咨询文件锁定
8.ftruncate()//将文件截断到给定的长度
9.fclose()//关闭一个已打开的文件指针
10.file()//把整个文件读入一个数组中
11.copy()//拷贝文件
12.unlink()//删除文件
13.file_get_contents()//将整个文件读入一个字符串
14.file_put_contents()//将字符串写入文件中
15.rename()//重命名一个文件或目录
16.readfile()//读入一个文件并写入到输出缓冲

五、文件的上传

文件的上传过程不需要管,都是自动的,上传的文件默认是放在一个临时的目录里,我们需要做的就是将临时目录里面的文件移动到我们需要的地方
<?php
header('Content-type:text/html;charset=utf-8');
if (isset($_POST['submit'])){
    if (is_uploaded_file($_FILES['myfile']['tmp_name'])){
        $arr=pathinfo($_FILES['myfile']['name']);
        date_default_timezone_set('Asia/shanghai');
        $newName=date('YmdHis').rand(1000,9999);
        if(move_uploaded_file($_FILES['myfile']['tmp_name'],"uploads/{$newName}.{$arr['extension']}")){
            echo '恭喜你!上传成功!';
        }else{
            echo '对不起移动文件失败!';
        }
    }else{
        exit('可能有攻击,请你做合法的事情!');
    }
}

?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="utf-8">
    <title>上传页面</title>
</head>
<body>
<form action="" method="post" enctype="multipart/form-data">
    <input type="file" name="myfile">
<!--    <input type="text" name="username">-->
<!--    <input type="text" name="sex">-->
<!--    <input type="text" name="address">-->
<!--    <input type="text" name="name">-->
    <input type="submit" name="submit" value="开始上传">
</form>
</body>
</html>

六、文件的下载

获取文件的MIME类型
http://localhost/目录名/文件名.php
相当于
localhost/目录名/文件.rar
<?php
if (!function_exists('finfo_open')){
    header('Content-type:text/html;charset=utf-8');
    exit('请先开启PHP扩展:fileinfo!');
}
$file='a.rar';
$fileinfo=finfo_open(FILEINFO_MIME_TYPE);
$mimeType=finfo_file($fileinfo,$file);
finfo_close($fileinfo);
//发送指定的文件MIME类型的头信息
header('Content-type:'.$mimeType);
//指定下载文件的描述
header('Content-Disposition:attachement;filename='.basename($file));
//指定文件的大小
header('Content-Length:'.filesize($file));
//读取文件内容到输出缓冲区,返回这个文件
readfile($file);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值