>  기사  >  백엔드 개발  >  PHP는 임시 디렉토리에 파일 업로드를 구현합니다.

PHP는 임시 디렉토리에 파일 업로드를 구현합니다.

王林
王林원래의
2020-02-14 18:20:545253검색

PHP는 임시 디렉토리에 파일 업로드를 구현합니다.

임시 디렉토리에 파일을 업로드하기 위해

양식을 통해 구현됩니다. 업로드 프로세스를 제어할 필요가 없으며 파일을 원하는 디렉토리로 이동하기만 하면 됩니다.

구체적인 방법은 다음과 같습니다.

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>

결과는 그림과 같습니다:

PHP는 임시 디렉토리에 파일 업로드를 구현합니다.

추천 관련 기사 및 튜토리얼:php 튜토리얼

위 내용은 PHP는 임시 디렉토리에 파일 업로드를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.