zoukankan      html  css  js  c++  java
  • php表单提交 图片、音乐、视频、文字,四种类型共同提交到数据库

    这个问题一直困扰了我好几天,终于在今天让我给解决了,难以掩饰的激动。

    其实在之前没有接触到这种问题,只是表单提交数据而已,再就是图片,四种类型同时提交还真是没遇到过,做了一个系统,其中有一个功能就是提交这四种类型的数据,我只能把这个功能拿到最后来做,就在这几天所有功能都做完了,只剩下了这一个功能,我真的很闹心,这几天睡觉都睡的不踏实,各种的表单提交,做梦也是表单提交,醒来后我在想我的内心原来那么脆弱么,一点压力都承受不住?

    事实还好,不管怎么样问题都被解决了

    也很感谢博客园的一位哥哥,指点了我,远程帮我改了一下环境配置,解决了最关键的问题。

    废话就不多说了,下面来看一下代码和效果图吧

    只为了实现功能,所以写的很简单

    提交视频有个前提就是要改一下php的配置文件,找到这个文件,改一下它规定文件的最大mb就可以了

    这个必须要改,不改的话,视频是传不过去的

    接下来看一下html的代码

     运行起来就是这种效果

    接下来写它的处理页面

    写之前先打印一下。看看能不能把数据都能传过来

    在它的处理页面

    写完后保存一下

    然后在运行的第一个页面,填充上数据

    因为只打印了图片、音乐、视频、所以文字可以先不填

    点击上传

    数据可以被成功传过来,这样我们就成功了一大半了

    下面再来分别写这三类文件

    //       图片
    //判断文件上传是否出错
    if($_FILES["file"]["error"])
    {
        echo $_FILES["file"]["error"];
    }
    else
    {
        //控制上传文件类型
        if(($_FILES["file"]["type"]=="image/jpeg" || $_FILES["file"]["type"]=="image/png") && $_FILES["file"]["size"]<1024000)
        {
            //找到文件存放的位置
            $filename = "./file/".date("YmdHis").$_FILES["file"]["name"];  //加 .  拼接
            //转换编码格式
            $filename = iconv("UTF-8","gb2312",$filename);
            //判断文件是否存在
            if(file_exists($filename))
            {
                echo "该文件已存在!";
            }
            else
            {
            //保存文件
            move_uploaded_file($_FILES["file"]["tmp_name"],$filename);                   //移动上传文件  
            $tp = $filename;  
            }
        }
        else
        {
            echo "文件类型不正确";
        }
    }
    if($_FILES["file1"]["error"])
    {
        echo $_FILES["file1"]["error"];
    }
    else
    {
        //控制上传文件类型
        if(($_FILES["file1"]["type"]=="audio/mpeg" || $_FILES["file1"]["type"]=="mp3/mp3") && $_FILES["file1"]["size"]<5000000)
        {
            //找到文件存放的位置
            $file1name = "./file/".date("YmdHis").$_FILES["file1"]["name"];  //加 .  拼接
            //转换编码格式
            $file1name = iconv("UTF-8","gb2312",$file1name);
            //判断文件是否存在
            if(file_exists($file1name))
            {
                echo "该文件已存在!";
            }
            else
            {
            //保存文件
            move_uploaded_file($_FILES["file1"]["tmp_name"],$file1name);                   //移动上传文件
            $yy = $file1name;    
            }
        }
        else
        {
            echo "文件类型不正确";
        }
    }
    
    //          视频
    //判断文件上传是否出错
    if($_FILES["file2"]["error"])
    {
        echo $_FILES["file2"]["error"];
    }
    else
    {
        //控制上传文件类型
        if(($_FILES["file2"]["type"]=="video/mp4" || $_FILES["file2"]["type"]=="mp4/mp4") && $_FILES["file2"]["size"]<500000000)
        {
            //找到文件存放的位置
            $file2name = "./file/".date("YmdHis").$_FILES["file2"]["name"];  //加 .  拼接
            //转换编码格式
            $file2name = iconv("UTF-8","gb2312",$file2name);
            //判断文件是否存在
            if(file_exists($file2name))
            {
                echo "该文件已存在!";
            }
            else
            {
            //保存文件
            move_uploaded_file($_FILES["file2"]["tmp_name"],$file2name);                   //移动上传文件
            $sp = $file2name;    
            }
        }
        else
        {
            echo "文件类型不正确";
        }
    }

    这里主要文件类型是你刚才打印 出来的type  ,如果刚才提交的不是MP4格式的文件,则它输出的类型也不一样,如图

    点击上传

    这里出现的type就是另一种类型

    所以你想提交哪种类型的,就一定对应好,否则会提示文件类型不正确的

    接下来写一下完整的处理页面的代码吧

    <?php
    $wz = $_POST["wz"];
    //var_dump($_FILES["file"]);   //索引写它的name值
    //var_dump($_FILES["file1"]);
    //var_dump($_FILES["file2"]);
    include("DBDA.php");
    $dx = new DBDA();
    
    //       图片
    //判断文件上传是否出错
    if($_FILES["file"]["error"])
    {
        echo $_FILES["file"]["error"];
    }
    else
    {
        //控制上传文件类型
        if(($_FILES["file"]["type"]=="image/jpeg" || $_FILES["file"]["type"]=="image/png") && $_FILES["file"]["size"]<1024000)
        {
            //找到文件存放的位置
            $filename = "./file/".date("YmdHis").$_FILES["file"]["name"];  //加 .  拼接
            //转换编码格式
            $filename = iconv("UTF-8","gb2312",$filename);
            //判断文件是否存在
            if(file_exists($filename))
            {
                echo "该文件已存在!";
            }
            else
            {
            //保存文件
            move_uploaded_file($_FILES["file"]["tmp_name"],$filename);                   //移动上传文件  
            $tp = $filename;  
            }
        }
        else
        {
            echo "文件类型不正确";
        }
    }
    if($_FILES["file1"]["error"])
    {
        echo $_FILES["file1"]["error"];
    }
    else
    {
        //控制上传文件类型
        if(($_FILES["file1"]["type"]=="audio/mpeg" || $_FILES["file1"]["type"]=="mp3/mp3") && $_FILES["file1"]["size"]<5000000)
        {
            //找到文件存放的位置
            $file1name = "./file/".date("YmdHis").$_FILES["file1"]["name"];  //加 .  拼接
            //转换编码格式
            $file1name = iconv("UTF-8","gb2312",$file1name);
            //判断文件是否存在
            if(file_exists($file1name))
            {
                echo "该文件已存在!";
            }
            else
            {
            //保存文件
            move_uploaded_file($_FILES["file1"]["tmp_name"],$file1name);                   //移动上传文件
            $yy = $file1name;    
            }
        }
        else
        {
            echo "文件类型不正确";
        }
    }
    
    //          视频
    //判断文件上传是否出错
    if($_FILES["file2"]["error"])
    {
        echo $_FILES["file2"]["error"];
    }
    else
    {
        //控制上传文件类型
        if(($_FILES["file2"]["type"]=="application/octet-stream" || $_FILES["file2"]["type"]=="flv/qsv") && $_FILES["file2"]["size"]<500000000)
        {
            //找到文件存放的位置
            $file2name = "./file/".date("YmdHis").$_FILES["file2"]["name"];  //加 .  拼接
            //转换编码格式
            $file2name = iconv("UTF-8","gb2312",$file2name);
            //判断文件是否存在
            if(file_exists($file2name))
            {
                echo "该文件已存在!";
            }
            else
            {
            //保存文件
            move_uploaded_file($_FILES["file2"]["tmp_name"],$file2name);                   //移动上传文件
            $sp = $file2name;    
            }
        }
        else
        {
            echo "文件类型不正确";
        }
    }
    
    
    $sql = "insert into tp values('','{$tp}','{$yy}','{$sp}','{$wz}')";
             $r = $dx->Query($sql,0);
             if($r)
             {
              echo "提交成功";
              
             }
             else
             {
                echo "提交失败"; 
              }

    你在写之前最好打印一下你要提交视频的类型是什么,还有音乐也是

    我所用的数据库是这个

    还有一点很重要的是,文件名不要含有汉字,。

    在同一目录下新建一个file文件夹,你所有提交的文件将都会保存在这个文件夹里

    下面来试一下吧

    点击上传

    提交成功

    看一下数据库里

     

    添加成功!

    如果需要的话,把这些数据遍历读出就可以了。

  • 相关阅读:
    Nodejs学习笔记(三)--- 模块
    Nodejs学习笔记(二)--- 事件模块
    Nodejs学习笔记(一)--- 简介及安装Node.js开发环境
    leetcode题解实践
    坑爹的bugsbunnyctf复现
    两道interesting的题目
    python 习题集
    数据结构与算法--java描述
    pentestbox下运行ssh报错,命令报错
    ntfs交换数据流在隐写
  • 原文地址:https://www.cnblogs.com/qishuang/p/6826884.html
Copyright © 2011-2022 走看看