Home > Backend Development > PHP Tutorial > PHP implements uploading files to temporary directory

PHP implements uploading files to temporary directory

王林
Release: 2023-04-08 12:38:01
Original
5330 people have browsed it

PHP implements uploading files to temporary directory

Implemented through the

form, the file is uploaded to a temporary directory. We do not need to control the upload process. We only need to move the file to the directory we desire.

The specific method is as follows:

1. Modify the PHP configuration file

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

Note: Restart the server after modifying the configuration file.

(Related learning video sharing: php video tutorial)

2. $_FILES multi-dimensional array, used to store various upload-related information

$_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类型由‘/’分隔主类型和子类型组成
Copy after login

3. PHP file upload processing function

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

Example:

<?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>
Copy after login

The result is as shown in the figure:

PHP implements uploading files to temporary directory

Recommended related articles and tutorials: php tutorial

The above is the detailed content of PHP implements uploading files to temporary directory. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Issues
php data acquisition?
From 1970-01-01 08:00:00
0
0
0
PHP extension intl
From 1970-01-01 08:00:00
0
0
0
How to learn php well
From 1970-01-01 08:00:00
0
0
0
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template