首页 >后端开发 >php教程 >php实现将文件上传到临时目录

php实现将文件上传到临时目录

王林
王林原创
2020-02-14 18:20:545310浏览

php实现将文件上传到临时目录

通过ff9c23ada1bcecdd1a0fb5d5a0f18437表单实现,将文件上传到一个临时目录,上传的过程不需要我们管,只需将文件移动到我们期望的目录即可。

 具体方法如下:

1、修改PHP配置文件

file_uploads//服务器上的PHP脚本是否可以接受HTTP文件上传
 
memory_limit//设置脚本可以分配的最大内存量,防止失控脚本独占服务器内存
 
upload_max_filesize//限制PHP处理上传文件的最大值,此值必须小于post_max_size值
 
 post_max_size//限制通过POST方法可以接受的信息最大量
 
upload_tmp_dir //上传文件存放的临时路径,可以是绝对路径。这个目录对于拥有此服务器进程用户必须是可写的。

注意:修改完配置文件后重新启动服务器。

(相关学习视频分享:php视频教程

2、$_FILES多维数组,用于存储各种与上传有关的信息

$_FILES[‘file’][‘name’]        //客户端上传的文件原名称,含扩展名
$_FILES[‘file’][‘size’]          //已上传文件的大小,单位为字节
$_FILES[‘file][‘tmp_name’]        //文件上传后,在服务器端存储的临时文件名
$_FILES[‘file][‘error’]          //文件上传时产生的错误
                                     0:文件上传成功
                                     1:上传文件的大小超出了在PHP配置文件中upload_max_filesize选项限制的值
                                     2:上传文件大小超出了HTML表单中MAX_FILE_SIZE选项指定的值
                                     3:文件只被部分上传
                                     4:没有上传任何文件
$_FILES[‘file’][‘type’]        //上传文件的类型,每种MIME类型由‘/’分隔主类型和子类型组成

3、PHP文件上传处理函数

is_uploaded_file()      //判断指定的文件是否通过HTTP POST上传的
move_uploaded_file()    //文件上传后先存储于服务器的临时目录中,使用该函数移动文件位置

示例:

<?php
    header(&#39;Content-type:text/html;charset=utf-8&#39;);
    //判断客户端是否有提交动作
    if(isset($_POST[&#39;submit&#39;])){
        //判断文件是否通过HTTP POST上传的
        if(is_uploaded_file($_FILES[&#39;myfile&#39;][&#39;tmp_name&#39;])){
            //用于服务器端显示客户端上传文件的后缀名.返回值是一个数组
            $arr=pathinfo($_FILES[&#39;myfile&#39;][&#39;name&#39;]);
            //以年 月 日的格式命名客户端上传的文件名并随机产生一个数,避免名字相同
            $newName=date(&#39;YmdGis&#39;).rand(1000,99999);
            if(move_uploaded_file($_FILES[&#39;myfile&#39;][&#39;tmp_name&#39;],"C:/123/{$newName}.{$arr[&#39;extension&#39;]}")){
                echo &#39;成功&#39;;
            }else{
                echo &#39;失败&#39;;
            }
        }else{
            exit(&#39;....&#39;);
        }
    }
    var_dump($_FILES);
?>
<DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>文件上传</title>
</head>
<body>
    <form method="post" action="" enctype="multipart/form-data">
    <input type="file" name="myfile"/>
    <input type="submit" name="submit" value="开始上传"/>
    </form>
</body>
</html>

结果如图:

c30a0ecdc9036e9e69b666cd3ace30a.png

相关文章教程推荐:php教程

以上是php实现将文件上传到临时目录的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn