php 表单提交图片数据格式,php表单提交 图片、音乐、视频、文字,四种类型共同提交到数据库...

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

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

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

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

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

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

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

48eff4320992fb9416732c4d3f5c4f00.png

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

接下来看一下html的代码

6eff15641f55796fd226ac200288fbc2.png

运行起来就是这种效果

e3e15a852b4635680b74fa8d868085c0.png

接下来写它的处理页面

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

在它的处理页面

a496c0391af15309dc9e95203f8b2561.png

写完后保存一下

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

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

02689ed6502184fc8baf8ac6c62b3dd3.png

点击上传

6e3a6b13d4adbb7d688c66283f240a61.png

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

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

//图片

//判断文件上传是否出错

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格式的文件,则它输出的类型也不一样,如图

1979b629adf652e8433c6498c6887051.png

点击上传

7e790909aa3c2ce3ec2ca6e5ca2339a4.png

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

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

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

//var_dump($_FILES["file1"]);

//var_dump($_FILES["file2"]);

include("DBDA.php");$dx = newDBDA();//图片

//判断文件上传是否出错

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 "提交失败";

}

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

我所用的数据库是这个

12ce7306a75f9f58fcefd2e5c66862bf.png

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

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

d5cc732b2e0f88d284f3631ddbbeea64.png

下面来试一下吧

679aeb90170da1ce37e7ab3dd3ae4fec.png

点击上传

bd56ff4e3a4a4fd4ce47bcd95ab967b6.png

提交成功

看一下数据库里

2854acd391f2cf4007f3998dcd51a0b5.png

添加成功!

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

原文:http://www.cnblogs.com/qishuang/p/6826884.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值