php限制上传文件类型并保存上传文件的方法_php技

2019-12-18 09:35栏目:编程学习

本文实例讲述了php限制上传文件类型并保存上传文件的方法。分享给大家供大家参考。具体如下:

如图所示:点击浏览出现选择文件的对话框,将所选文件上传到保存文件的文件。

下面的代码演示了php中如何获取用户上传的文件,并限制文件类型的一般图片文件,最后保存到服务器

 

 0) { echo "Return Code: " . $_FILES["file"]["error"] . "
"; } else { echo "Upload: " . $_FILES["file"]["name"] . "
"; echo "Type: " . $_FILES["file"]["type"] . "
"; echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB
"; echo "Temp file: " . $_FILES["file"]["tmp_name"] . "
"; if (file_exists("upload/" . $_FILES["file"]["name"])) { echo $_FILES["file"]["name"] . " already exists. "; } else { move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]); echo "Stored in: " . "upload/" . $_FILES["file"]["name"]; } } }else { echo "Invalid file"; }?>

图片 1图片 2

希望本文所述对大家的php程序设计有所帮助。

 关键点:文件上传的图解:

图片 3

代码:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <form method="post" action="chuli.php" enctype="multipart/form-data">
            <input type="file" name="file" />
            <input type="submit" value="上传"/>
        </form>
    </body>
</html>

  chuli.php

<?php
//读取上传的文件信息,以数组方式返回
$arr = $_FILES["file"];
//var_dump($arr);
//以下为输出内容:此处作为注释写在这,便于理解
//array(5) {
//["name"]=>    文件名称
//string(5) "7.png"
//["type"]=>      文件类型
//string(9) "image/png"
//["tmp_name"]=>   文件临时储存的地方
//string(53) "C:UsersAdministratorAppDataLocalTempphpF626.tmp"
//["error"]=>      报错:上传没错则为0;有错则会提示错误      
//int(0)
//["size"]=>       上传文件的大小
//int(18747)
//}

//上传的文件被保存的文件名,images 为同一目录下要保存上传文件的文件名
$filename=".".$arr["name"];

//转换格式,将utf-8转为国标
$filename = iconv("UTF-8","gb2312",$filename);

//将文件从临时文件移到保存的文件(核心代码)
move_uploaded_file($arr["tmp_name"],$filename);
?>

  到此处便可以实现文件的上传功能;但是如我们所知,实际上文件上传时会有很多要求;诸如文件类型,文件大小,文件名是否重复等

所以要对chuili.php进行修改:

<?php

$arr = $_FILES["file"];

//加限制条件

if(($arr["type"]=="image/jpeg" || $arr["type"]=="image/png") && $arr["size"]<1024000 )
{
    //临时文件的路径
    //$arr["tmp_name"];

    $filename = ".".time().$arr["name"];

    //保存之前判断该文件是否存在
    if(file_exists($filename))
    {
        echo "该文件已存在";
    }
    else
    {

        $filename = iconv("UTF-8","gb2312",$filename);

        move_uploaded_file($arr["tmp_name"],$filename);
    }
}
else
{
    echo "上传的文件大小或类型不符合";
}

  这样,就基本可以实现文件的上传功能了~~~

 

要注意的几点:

1、加限制条件从下面几方面加:         1、文件类型   2、文件大小  3、保存的文件名不重复

2、为了防止重复,文件名采取以下措施   1、用户名加时间戳    2、类似网盘,用文件夹分类
**

版权声明:本文由威尼斯人app发布于编程学习,转载请注明出处:php限制上传文件类型并保存上传文件的方法_php技