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文件夹,你所有提交的文件将都会保存在这个文件夹里

下面来试一下吧

点击上传

提交成功

看一下数据库里

添加成功!

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

时间: 2024-08-06 03:40:56

php表单提交 图片、音乐、视频、文字,四种类型共同提交到数据库的相关文章

bootstrap之表单和图片

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>表单和图片</title> <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css"> </head&

第 4 章 表单和图片

学习要点: 1.表单 2.图片 主讲教师:李炎恢 本节课我们主要学习一下 Bootstrap 表单和图片功能,通过内置的 CSS 定义,显示各种丰富的效果. 一.表单 Bootstrap 提供了一些丰富的表单样式供开发者使用. 1.基本格式 //实现基本的表单样式 <form> <div class="form-group"> <label>电子邮件</label> <input type="email" cla

第4章 表单和图片

本节课我们主要学习一下 Bootstrap 表单和图片功能,通过内置的 CSS 定义,显示各 种丰富的效果. 一.表单 Bootstrap 提供了一些丰富的表单样式供开发者使用. 1. 基本格式 //实现基本的表单样式 <form> <div class="form-group"> <label>电子邮件</label> <input type="email" class="form-control&q

Android手机——读取手机电话+短信+网页+图片+音乐+视频+APK+通知栏消息+换头像

Android手机--电话+短信+网页+图片+音乐+视频+APK+通知栏消息+换头像 <!--拨打电话权限--> <uses-permission android:name="android.permission.CALL_PHONE"/> <!--连接网络权限--> <uses-permission android:name="android.permission.INTERNET"/> <!--读写文件的权限

jquery.validate.js 验证表单时,在IE当中未验证就直接提交的原因

jquery.validate.js 验证表单时,在IE当中未验证就直接提交的原因 今天利用了jquery.validate.js来验证表单,发现在火狐.谷歌浏览器当中都可以进行验证,但是在IE系列浏览器当中却无法进行验证就直接将表单提交了. 在网上查了一下原因,大多数文章表明原因是js代码书写不规范造成,也就是在验证表单的规则(rules)数组的最后多了个逗号.起初我也因为是这个原因于是查看了自己的代码发现确实有此问题于是就改正过来了. 但是在浏览器中查看后仍然不起作用,在百思不得其解时,想到

form表单元素中disabled的元素的值不会提交到服务器

1.表单元素中disabled的元素的值不会提交到服务器,后台获取的值为null <form id="myForm" action="#" method="post"> <input name="username" disabled="disabled" /> <input type="submit" value="提交"/> &l

java模拟post方式提交表单实现图片上传【转】

转自:http://blog.csdn.net/5iasp/article/details/8669644 模拟表单html如下: <form action="up_result.jsp" method="post" enctype="multipart/form-data" name="form1" id="form1"> <label> <input type="

HTML基础(二)——表单,图片热点,网页划区和拼接

一.表单 <form id="" name="" method="post/get" action="负责处理的服务端"> id不可重复:name可重复:get提交有长度限制,并且编码后的内容在地址栏可见,post提交无长度限制,且编码后内容不可见. </form> 1.文本输入 文本框<input type="txt" name="" id="&

java sql编辑器 动态报表 数据库备份还原 quartz定时任务调度 自定义表单 java图片爬虫

获取[下载地址]   QQ: 313596790   [免费支持更新] 三大数据库 mysql  oracle  sqlsever   更专业.更强悍.适合不同用户群体 [新录针对本系统的视频教程,手把手教开发一个模块,快速掌握本系统] A 集成代码生成器(开发利器)+快速构建表单;            QQ:313596790 freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类,service等完整模块 B 集成阿里巴巴数据库连接池druid;