• 用户上传图片并将路径地址存入数据库中


    1,随便编写一写需要用的输入框,然后选择图片上传后提交

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <form action="FileView.php" method="post" enctype="multipart/form-data">
        <label>邮箱</label>
        <div class="from-group">
            <input type="email" class="form-control" id="exampleInputEmail" placeholder="Email" name="email" id="email">
        </div>
        <div>
            <label>密码</label>
            <input type="password" placeholder="密码" name="password" id="password">
        </div>
        <div>
            <label>头像</label>
            <input type="file" name="upFile" id="upFile">
        </div>
        <button type="submit">Submit</button>
    </form>
    </body>
    </html>
    <?php
    if(!empty($_FILES)) {
        foreach ($_FILES['upFile'] as $name => $value)
            echo $name . '=' . $value . '
    '
    ; } ?>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    2,处理提交过来的数据,并将提交过来的数据根据唯一字段number存入数据库中(这个需要根据自己取得数据库设定,根据用户登录时的内容来判定)

    
    $email=$_POST['email'];             //获取提交过来的emial
    $password = $_POST['password'];      //获取提交过来的password
    $fileInfo = $_FILES['upFile'];        //获取提交过来的图片文件
    /*遍历图片的数据*/
    if(!empty($_FILES)) {       //如果提交过来的图片数据不为空,则遍历一下图片的数据信息(正式使用时删除)
        foreach ($_FILES['upFile'] as $name => $value)
            echo $name . '=' . $value . '
    '
    ; } //检测文件扩展名 $allowExt=array('jpeg','jpg','png','gif'); $ext = strtolower(pathinfo($fileInfo['name'],PATHINFO_EXTENSION)); //strtolower把所有字符转换为小写 if (!in_array($ext,$allowExt)){ echo '不被允许的扩展名'; exit(); }else{ echo '允许'; } /*检测文件类型*/ $allowMime=array('image/jpeg','image/jpg','image/gif','image/png'); if(!in_array($fileInfo['type'],$allowMime)){ echo '上传文件类型错误'; exit(); }else{ echo '文件类型正确'; } //检测是否为图片 if (!@getimagesize($fileInfo['tmp_name'])){ echo '不是真实图片'; exit(); }else{ echo '是真实图片'; } /*保存图片*/ $uploadPath = 'images'; if(!file_exists($uploadPath)){ $result = mkdir($uploadPath); //生成图片最后保存路径的根目录 } $uniName=md5(uniqid(microtime(true),true));/*md5加密,唯一命名,生成的是图片的名字*/ $destination = $uploadPath.'/'.$uniName.'.'.$ext.''; //最后生成的图片的地址 if (@move_uploaded_file($fileInfo['tmp_name'],$destination)){ echo '上传成功'; /*其它操作,写入数据库等*/ $host = "localhost"; $username = "root"; $password = "root"; // 创建连接数据库 $conn = mysqli_connect("localhost","root","root","filecontrol"); // 检测连接 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } echo "连接成功"; $sql = "INSERT INTO image (number, address)/*number应该根据Cookie作为登录后的唯一标识*/ VALUES (1, '$destination')"; if ($conn->query($sql) === TRUE) { echo "图片地址插入成功"; } else { echo "Error: " . $sql . "
    "
    . $conn->error; } }else{ echo '文件移动失败'; exit(); } ?>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67

    当用户不是第一次上传图片时,需要将之前存储的用户数据删除,这个等我有空了过来改吧。

  • 相关阅读:
    数据库基本概念和SQL基本语句
    【我真服了,学JAVA太困难了怎么办】如何应对学习Java困难的情况
    C数据结构:排序
    祝各位程序员节日快乐
    LocalDate和mysql数据库驱动版本
    【设计模式】工厂模式(c++实现)
    新考纲下的PMP考试有多难?全面解析
    Node.js
    【统计分析数学模型】聚类分析: 系统聚类法
    公司是一个线程池,员工在池子里工作,看来真理无论到哪都通用啊
  • 原文地址:https://blog.csdn.net/yfq_29/article/details/132898406