文件上传

2018-08-20  本文已影响10人  大菜鸟呀

HTML

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8"> 
    <title>文件上传</title>
</head>
<body>
    <h3>文件上传</h3>
    <form action="shangchuan.php" method="POST" enctype="multipart/form-data">
        <p>请选择文件:</p>
        <p>
            <input type="file" name="files">
        </p>
        <p>
            <input type="submit" value="上传">
        </p>
    </form>
</body>
</html>

PHP

<?php
//文件上传
//move_uploaded_file(filename, destination)
//print_r($_FILES)
header('content-type:text/html;charset=utf-8');

$files=$_FILES['files']['tmp_name']; //上传文件路径
//$fileNames='dirs/'.$_FILES['files'][name]; //新文件名字

//创建日期目录
$dateDir='dirs/'.'/'.date('Y').'-'.date('m').'-'.date('d');
    if(!file_exists($dateDir)){
        mkdir($dateDir);
    }
//获取文件后缀名
$fext=array_pop(explode('.',$_FILES['files']['name']));
//创建名字
$names=time().'66'.mt_rand();
$fileNames=$dateDir.'/'.$names.'.'.$fext;


//获取文件大小
$fileSizes=$_FILES['files']['size'];
//限制文件类型
$fileType=array('jpg','png','jpeg');
//限制文件大小
$sizes=1*1024*1024;
if(in_array($fext, $fileType)){
    if($fileSizes<$sizes){
        move_uploaded_file($files,$fileNames);
    }else{
        echo "<script>alert('文件超过1M')</script>";
    }

}else{
    echo "<script>alert('文件类型不正确')</script>";
}

//储存文件

?>

1、更改apache文件上传的大小:

bin->apache->bin->php.ini文件:
post_max_size = 3M

2、更改input上传的大小限制

bin->php->php.ini文件:
upload_max_filesize = 64M

3、更改from上传的大小限制:

bin->php->php.ini文件:
post_max_size = 3M

4、上传错误码:
0:上传成功
1:超过input[type='file']是最大上传值
4:未上传任何内容

上一篇下一篇

猜你喜欢

热点阅读