• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >jquery > PHP+jQuery+Ajax实现多图片上传效果

PHP+jQuery+Ajax实现多图片上传效果

作者: 字体:[增加 减小] 来源:互联网 时间:2017-08-16

通过本文主要向大家介绍了PHP,jQuery,Ajax,多图片上传等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

今天我给大家分享的是在不刷新页面的前提下,使用PHP+jQuery+Ajax实现多图片上传的效果。用户只需要点击选择要上传的图片,然后图片自动上传到服务器上并展示在页面上。

HTML

我们在页面上放置一个form表单,使用post提交到后台php处理程序upload.php,注意enctype属性设置要支持文件上传。#preview用来显示上传完毕后的图片。关于css样式设置本文不加说明,请参照下载包的源码。

<form id="imageform" method="post" enctype="multipart/form-data" action="upload.php">
    <div id="up_status" style="display:none"><img src="loader.gif" alt="uploading"/></div>
    <div id="up_btn" class="btn">
        <span>添加图片</span>
        <input id="photoimg" type="file" name="photoimg">
    </div>
</form>
<p>最大100KB,支持jpg,gif,png格式。</p>
<div id="preview"></div>

jQuery
本实例基于jQuery,因此必须在页面中载入jquery库以及jquery.wallform.js。

<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.wallform.js"></script>

当点击按钮“添加图片”后,弹出选择文件对话框,选择要上传的图片后,触发change事件。然后表单#imageform调用jquery.wallform.js的ajaxForm()方法,将表单数据提交给后台PHP处理,并根据返回结果处理页面元素的展示。如果上传成功,图片会一张张排列显示在页面上。关于ajaxForm()的使用可以参照本站文章:Ajax表单提交插件jqery form。

$(function(){
    $('#photoimg').die('click').live('change', function(){
        var status = $("#up_status");
        var btn = $("#up_btn");
        $("#imageform").ajaxForm({
            target: '#preview', 
            beforeSubmit:function(){
                status.show();
                btn.hide();
            }, 
            success:function(){
                status.hide();
                btn.show();
            }, 
            error:function(){
                status.hide();
                btn.show();
        } }).submit();
    });
});

PHP

upload.php处理图片上传,并将上传好的图片保存在uploads/目录,注意该目录要有写权限。首先需要检测是否为POST方式提交,然后判断图片格式、图片大小是否符合要求,然后使用move_uploaded_file()上传图片,并将图片重命名,格式为:time().rand(100,999)。

$path = "uploads/";
$extArr = array("jpg", "png", "gif");
if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST"){
    $name = $_FILES['photoimg']['name'];
    $size = $_FILES['photoimg']['size'];
    if(empty($name)){
        echo '请选择要上传的图片';
        exit;
    }
    $ext = extend($name);
    if(!in_array($ext,$extArr)){
        echo '图片格式错误!';
        exit;
    }
    if($size>(100*1024)){
        echo '图片大小不能超过100KB';
        exit;
    }
    $image_name = time().rand(100,999).".".$ext;
    $tmp = $_FILES['photoimg']['tmp_name'];
    if(move_uploaded_file($tmp, $path.$image_name)){
        echo '<img src="'.$path.$image_name.'"  class="preview">';
    }else{
        echo '上传出错了!';
    }
    exit;
}
//获取文件类型后缀
function extend($file_name){
    $extend = pathinfo($file_name);
    $extend = strtolower($extend["extension"]);
    return $extend;
}

当然,实际应用中,可以与数据库以及用户中心结合,将用户上传的图片保存在数据表中,具体应用大家可以自行研究。

以上就是本文给大家分享的全部内容了,希望大家能够喜欢。

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • jQuery+PHP+Mysql实现抽奖程序
  • jQuery+ThinkPHP+Ajax实现即时消息提醒功能实例代码
  • ThinkPHP+jquery实现“加载更多”功能代码
  • PHP+jquery+ajax实现分页
  • JQuery PHP图片在线裁剪实例
  • jQuery的Cookie封装,与PHP交互的简单实现
  • 几种二级联动案例(jQuery\Array\Ajax php)
  • jquery ajax结合thinkphp的getjson实现跨域的方法
  • jQuery+Ajax+PHP弹出层异步登录效果(附源码下载)
  • jQuery+PHP实现微信转盘抽奖功能的方法

相关文章

  • 2017-08-16jquery 取字符串中数字的正则
  • 2017-08-16jQuery EasyUI 中文API Button使用实例
  • 2017-08-16浅谈jquery的map()和each()方法
  • 2017-08-16jquery根据name属性查找的小例子
  • 2017-08-16精心挑选的15个jQuery下拉菜单制作教程
  • 2017-08-16jquery中attr和prop的区别分析
  • 2017-08-16Json序列化和反序列化方法解析
  • 2017-08-16jQuery获取地址栏参数插件(模仿C#)
  • 2017-08-16JQuery在循环中绑定事件的问题详解
  • 2017-08-16jQuery实现连续动画效果实例分析

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • jQuery基于ajax()使用serialize()提交form数据的方法
    • jQuery动态添加删除select项(实现代码)
    • easyUI组件扩展(用户自定义组件)
    • jquery DOM操作 基于命令改变页面
    • jQuery中[attribute!=value]选择器用法实例
    • 鼠标经过出现气泡框的简单实例
    • jWiard 基于JQuery的强大的向导控件介绍
    • jQuery Ajax提交表单查询获得数据实例代码
    • jquery1.83 之前所有与异步列队相关的模块详细介绍
    • 基于Jquery的文字自动截取(提供源代码)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有