PHP图片上传同时保存上传路径到数据库

本片文档记载如何将图片上传至自己制定的目录文件下,同时可以将信息填入数据库。本片文档部分技术内容参照w3school。

首先是HTML页面:

<form action="register.php" method="post" enctype="multipart/form-data" onSubmit="return InputCheck(this)">
  <label>图片:<input type="file" name="file" id="file"></label><br>
  <button type="submit" id="submit">添加</button>
</form>

数据库链接页面:

<?php
 $conn = mysql_connect("127.0.0.1","root","") or die("数据库链接错误".mysql_error());
 mysql_select_db("数据库名",$conn) or die("数据库访问错误".mysql_error());
 mysql_query("set names utf-8");
?>

PHP接受页面:

部分设定根据个人需求可进行增加删除。

输出语句根据个人需求输出,无强制要求。

<?php
        
        //限制图片类型格式,大小
        if ((($_FILES["file"]["type"] == "image/gif")
            || ($_FILES["file"]["type"] == "image/jpeg")
            || ($_FILES["file"]["type"] == "image/jpg"))
            && ($_FILES["file"]["size"] < 200000)) {
            if ($_FILES["file"]["error"] > 0) {
                echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
            } else {
                echo "文件名: " . $_FILES["file"]["name"] . "<br />";
                echo "文件类型: " . $_FILES["file"]["type"] . "<br />";
                echo "文件大小: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
                echo "缓存文件: " . $_FILES["file"]["tmp_name"] . "<br />";

            //设置文件上传路径,选择指定文件夹

                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 "存储于: " . "../upload/" . $_FILES["file"]["name"];//上传成功后提示上传信息
                }
            }
        } else {
            echo "上传失败!";//上传失败后显示错误信息
        }

        //链接数据库
        include('conn.php');

        //定义变量,存储文件上传路径,之后将变量写进数据库相应字段即可
        $file = "../upload/" . $_FILES["file"]["name"];
        $sql = "INSERT INTO 表名 (字段名)
            VALUES
            ('$file')";

        if (!mysql_query($sql)) {
            die('Error: ' . mysql_error());
        }
        echo "成功添加一条记录";//成功传入数据后显示成功添加一条数据
        header("Refresh:1;url=XXX.html");//成功插入数据后返回某个网页
        ?>

数据库自行创建,字段类型给字符型VARCHAR,长度可以留长一点(如果存储位置深的话)

如果插入数据库数据时有其他字段数据,可以同时写在sql中,不会有干扰。

猜你喜欢

转载自www.cnblogs.com/BLackPeace/p/10071931.html