百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>网页制作> 新手应当晓得的php多图片上传的实现
分享文章到:

新手应当晓得的php多图片上传的实现

发布时间:09/01 来源:未知 浏览: 关键词:

新手应当知道的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教程》

以上就是新手应当知道的php多图片上传的实现的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有150人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板