php: 파일 업로드(파일 업로드 크기 제한 설정 포함)

高洛峰
풀어 주다: 2016-10-10 10:36:52
원래의
1567명이 탐색했습니다.

오늘은 파일 업로드에 대해 글을 쓰고 있습니다. 며칠 전에 배운 올바른 규칙을 잊어버리고 형식을 판단하고 코드를 직접 입력하는 아주 어리석은 방법을 사용했습니다.

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 16-9-12
 * Time: 上午10:01
 *
 * 文件上传
 *
 */




?>


    <form action="upload.php" method="post" enctype="multipart/form-data">
        上传文件:<input type="file" name="file" id="file">
        <br/>
        <input type="submit" name="subbtn" value="上传">
    </form>


<?php

if(isset($_POST[&#39;subbtn&#39;])){

    echo $_FILES[&#39;file&#39;][&#39;type&#39;]."<br/>";

    /*
     * JPG image/jpeg
     * GIF image/gif
     * PNG image/png
     *
     */



    //文件上传处理程序:
    //$_FILES[&#39;file&#39;][&#39;type&#39;]  上传文件的类型
    //$_FILES[&#39;file&#39;][&#39;size&#39;]  上传文件的大小

    //$_FILES[&#39;file&#39;][&#39;error&#39;]  上传错误代码
    //$_FILES[&#39;file&#39;][&#39;name&#39;]   上传文件名

    //$_FILES[&#39;file&#39;][&#39;tmp_name&#39;] 临时文件名
//$fileName="a.TXT";
//$pos = strrpos($fileName,".");
//$ext = strtolower(substr($fileName,$pos));
//

    $file = $_FILES[&#39;file&#39;];
    $fileName=$file[&#39;name&#39;];
    echo &#39;后缀切割前:&#39;.  $file[&#39;name&#39;]."<br/>";
    //确定最后一个.出现的位置
    $pos = strrpos($file[&#39;name&#39;],&#39;.&#39;);
    //转换文件名为小写
    $ext = strtolower(" $fileName");
    //提取文件名后缀
    $fileExten=substr($ext,$pos+2);

    //判断文件后缀时候符合特定要求,这里设置为:jpg jpeg doc
    if($fileExten==&#39;jpg&#39;||$fileExten==&#39;jpeg&#39;||$fileExten==&#39;doc&#39; ){

        echo "文件后缀:". $fileExten. "<br/>";
        echo "文件类型:". $file[&#39;type&#39;]."<br/>";
        echo "文件大小:". $file[&#39;size&#39;]."<br/>";
        echo "错误代码:". $file[&#39;error&#39;]."<br/>";
        echo "文件名:". $file[&#39;name&#39;]."<br/>";
        echo "临时文件名:". $file[&#39;tmp_name&#39;]."<br/>";

        move_uploaded_file($file[&#39;tmp_name&#39;], "files/".$file[&#39;name&#39;]);

    }else
        echo "文件格式不对";
}

?>
로그인 후 복사

php: 파일 업로드(파일 업로드 크기 제한 설정 포함) 형식이 올바르지 않으면 직접 차단됩니다.

업로드 파일 크기 제한을 수정하려면 다음 방법을 참고하세요.

1. 일반 파일 업로드는 5M 파일처럼 아주 작은 파일이 아닌 한 업로드합니다. 을 초과할 가능성이 높습니다. 업로드를 완료하는 데 1분이 걸립니다.

그러나 PHP에서는 기본 최대 페이지 실행 시간이 30초입니다. 즉, 30초를 초과하면 스크립트 실행이 중지됩니다.

이로 인해 웹페이지를 열 수 없습니다. 현재 max_execution_time을 수정할 수 있습니다
php.ini에서
max_execution_time
을 찾으세요. 기본값은
max_execution_time으로 변경하세요. = 0
0은 제한이 없음을 의미합니다
2. post_max_size 수정 POST 데이터에 허용되는 최대 크기를 설정합니다. 이 설정은 파일 업로드에도 영향을 미칩니다.
PHP의 기본 post_max_size는 2M입니다. POST 데이터 크기가 post_max_size보다 크면 $_POST 및 $_FILES 슈퍼 전역이 비어 있게 됩니다.
post_max_size를
post_max_size = 150M
으로 변경하세요. 3. 많은 사람들이 변경합니다. Step 2. 하지만 파일 업로드 시 최대 크기는 여전히 8M입니다.
업로드되는 파일의 최대 크기를 나타내기 위해 upload_max_filesize 매개변수도 변경해야 합니다.
upload_max_filesize를 찾아 기본값은 8M이고
upload_max_filesize = 100M
으로 변경합니다. 또한 post_max_size가 upload_max_filesize보다 크다는 점에 유의하세요.

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿