视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
首行缩进怎么设置 CSS是什么 background什么意思 苹果电脑快捷键有哪些 复制粘贴快捷键怎么用 无线键盘没反应怎么办 家里无线网密码修改教程 电脑卡的原因有哪些 低级格式化是什么意思 dbf文件怎么打开 电脑蓝屏死机怎么办 新电脑第一次装机怎么装系统 dwg文件手机怎么打开 wps和excel有什么区别 新电脑ssd第一次装系统怎么操作 虚拟内存8g怎么设置最好 微星主板怎么设置u盘启动 新电脑怎么装操作系统 cf烟雾头怎么调最清楚win7 steam怎么加好友 2020天猫双十一规则是什么 淘宝双11跨店满减使用范围 淘宝双11跨店满减抵扣范围 天猫购物津贴怎么用 电脑内存条有什么用 hosts文件如何修改 C盘怎么清理到最干净 电脑显示器曲面屏和平面屏哪个好 键盘按键错乱怎么恢复 史上最高效的Python爬虫框架(推荐) 天猫双11跨店满减使用范围 万圣节是什么节 编程语言有哪些 天猫双11跨店满减抵扣范围 万圣节是哪一天 什么是万圣节 什么时候万圣节 初中生如何学习python 电脑重装系统教程 元日是什么节日
新手应该知道的php多图片上传的实现
2020-11-02 22:07:09 责编:小采
文档

新手应该知道的php多图片上传的实现

今天在工作中遇到了一个需求:一个表单实现多个上传图片,类似于QQ空间上传照片的模式。即:可以一次性上传多个图片,但是封面图片只有一个。

最先,最重要的事,在服务器上对文件进行读写操作的时候,一定要看权限,如果没有权限,全是虾扯蛋,为什么这样说,因为全是泪。

首先,前端页面:index.html

<html>
<head><title>多个文件上传表单</title></head>
<body>
<style>
 form{
 margin: 20px;
 padding: 10px;
 }
 #picInput>input{
 display: block;
 margin: 10px;
 }
</style>
<form action="pic.php" method="post" enctype="multipart/form-data">
 <input type="hidden" name="MAX_FILE_SIZE" value="1000000">
 <div id="picInput">
 上传图片:<input type="file" name='myfile[]'>
 </div>
 <input id="addBtn" type="button" οnclick="addPic1()" value="继续添加图片"><br/><br/>
 <input type="submit" value="上传文件">
</form>
<script>
 function addPic1(){
 var addBtn = document.getElementById('addBtn');
 var input = document.createElement("input");
 input.type = 'file';
 input.name = 'myfile[]';
 var picInut = document.getElementById('picInput');
 picInut.appendChild(input);
 if(picInut.children.length == 3){
  addBtn.disabled = 'disabled';
 }
 }
</script>
</body>
</html>

知识点:

1.通过JS动态添加input结点和设置属性,当大于3个上传图片的时候就不再给予上传图片的机会了。

2.这里最主要的是input输入框的name值,通过动态的添加数组元素,将所有上传的图片动态添加到数组当中。

后端处理功能

Connection.php

1.读取和存储都需要用到连接数据库,所以可以把它封住一下,养成良好的习惯

<?php
//创建对象并打开连接,最后一个参数是选择的数据库名称
$mysqli = new mysqli('localhost','root','','test');
//检查连接是否成功
if (mysqli_connect_errno()){
 //注意mysqli_connect_error()新特性
 die('Unable to connect!'). mysqli_connect_error();
}

pic.php处理功能

<?php
require_once 'connection.php';
$file = $_FILES['myfile']; //得到传输的数据,以数组的形式
$name = $file['name']; //得到文件名称,以数组的形式
$upload_path = "zhouqi666.cn/test/images/"; //上传文件的存放路径
//当前位置
foreach ($name as $k=>$names){
 $type = strtolower(substr($names,strrpos($names,'.')+1));//得到文件类型,并且都转化成小写
 $allow_type = array('jpg','jpeg','gif','png'); //定义允许上传的类型
 //把非法格式的图片去除
 if (!in_array($type,$allow_type)){
 unset($name[$k]);
 }
}
$str = '';
foreach ($name as $k=>$item){
 $type = strtolower(substr($item,strrpos($item,'.')+1));//得到文件类型,并且都转化成小写
 if (move_uploaded_file($file['tmp_name'][$k],$upload_path.time().$name[$k])){
 //$str .= ','.$upload_path.time().$name[$k];
 echo 'success';
 }else{
 echo 'failed';
 }
}
//向指定id插入图片地址(虽然是插入,但是是更新字段,不要迷糊了)
$uid = 1;
$str = substr($str,1);
$sql = "UPDATE upload set pic = '".$str."' WHERE id = ".$uid;
$result = $mysqli->query($sql);

这里我有很多的判断没有写,主要是实现一下功能,比如文件夹要先建立好,你也可以自己判断,不存在就创建一个文件夹,还有一些其他判断等等。

最关键的地方是,当你不熟悉的时候,要走一步调试一步,看得到的结果是什么。

图片现实功能

<?php
require_once 'connection.php';
$uid = 1;
$sql = "SELECT pic FROM upload WHERE id =".$uid;
$result = $mysqli->query($sql);
//取出第一个图片的地址
$picpath = '';
while ($row = $result->fetch_array()){
 $picpath = $row[0];
}
$picpath = explode(',',$picpath)[0];
echo "<img src='".$picpath."'>";
?>

感谢大家的阅读,希望大家收益多多。

本文转自:https://blog.csdn.net/zmzwll1314/article/details/72673138

推荐教程:《php教程》

下载本文
显示全文
专题微光app如何上传片源微光app如何上传片源专题如何查淘宝东西谁送的如何查淘宝东西谁送的专题苹果手机不贴膜屏幕容易花吗苹果手机不贴膜屏幕容易花吗专题朋友圈突然发不了视频朋友圈突然发不了视频专题2020淘宝双十一活动规则是什么2020淘宝双十一活动规则是什么专题天猫购物津贴什么意思天猫购物津贴什么意思专题空调内机漏水正常吗空调内机漏水正常吗专题2020年天猫双11天猫国际购物券可以同时使用吗2020年天猫双11天猫国际购物券可以同时使用吗专题空调挂机突然漏水空调挂机突然漏水专题2020天猫双十一满减计算方法2020天猫双十一满减计算方法专题2020淘宝双十一跨店满减怎么算2020淘宝双十一跨店满减怎么算专题2020淘宝天猫双11规则2020淘宝天猫双11规则专题空调内机漏水严重空调内机漏水严重专题空调室内机滴水空调室内机滴水专题空调室内机漏水严重空调室内机漏水严重专题空调室内机漏水如何解决空调室内机漏水如何解决专题家用空调不制冷什么原因家用空调不制冷什么原因专题空调里面漏水了怎么办空调里面漏水了怎么办专题空调不制冷常见的原因有什么空调不制冷常见的原因有什么专题空调为何只吹风不制冷了空调为何只吹风不制冷了专题空调内机漏水什么原因空调内机漏水什么原因专题空调挂机不制冷的原因空调挂机不制冷的原因专题格力空调不制冷只吹风咋回事格力空调不制冷只吹风咋回事专题空调内机滴水如何解决空调内机滴水如何解决专题空调制冷原理是啥空调制冷原理是啥专题空调不制冷原因有什么空调不制冷原因有什么专题空调内机边缘滴水空调内机边缘滴水专题空调不能制热空调不能制热专题为什么空调不制冷为什么空调不制冷专题日本豆腐是什么材料日本豆腐是什么材料专题h5页面如何生成链接专题html页面使用php专题php调用html模板专题用php编写一个论坛专题php运行html代码专题php 读取网页内容专题php读取网页内容专题html怎么调用php函数专题php添加背景图片代码专题php 获取html内容专题thinkphp5生成图片专题php 和html专题php抓取页面内容专题php弹窗代码html专题html5 和php专题php 和 html5专题html 写php专题web前端文件上传专题php获取图片信息专题php原样输出html专题