• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

php+ajax文件上传

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
  1. 前端页面代码


<!-- enctype 定义form要上传文件类型-->

<form action="" method="post" >

    <!--

    multiple  作用是可以同时选中多个文件,多张图片

    accept 指定input可以上传那种类型

    onchange 当本元素动的时候,点击也属于 调用abs函数

    -->


    <input type="file" name='tables_a[]' >

    <!-- 隐藏域  在上传完文件以后,把文件的地址赋给input tables_2 的值 -->

    <input type="hidden" name='tables' id='tables_2'>

    <!-- 提交表单 -->

    <input type="submit" value="提交">

</form>


<!--jquery 必须有,一定要放在执行js的上方,可以是头部-->

<script src="/js/jquery-1.8.3.js"></script>

<script>

    /*定义函数*/

    function abs(){

        /*获得文件*/

        var fileArray = document.getElementById('tables').files[0];

        /*初始化 FormData 对象 文件处理对象  序列化表单数据*/

        var formData = new FormData();

        /*给对象中添加文件信息,没有对象或者没有文件信息后台是得不到的*/

            formData.append('file', fileArray);

        /*jquery ajax 方法*/

        $.ajax({

            url: "ceshiphp.php",/*传向后台服务器文件*/

            type: 'POST',    /*传递方法 */

            data:formData,  /*要带的值,在这里只能带一个formdata ,不可以增加其他*/

             //传递的数据

            dataType : 'json',  //传递数据的格式

            async:false, //这是重要的一步,防止重复提交的

            cache: false,  //设置为false,上传文件不需要缓存。

            contentType: false,//设置为false,因为是构造的FormData对象,所以这里设置为false。

            processData: false,//设置为false,因为data值是FormData对象,不需要对数据做处理。

            success: function (responseStr){

                if(responseStr.code != 0){

                    alert('上传成功');

                    $('#tables_2').val(responseStr.data);

                }else{

                    alert('上传失败');

                }

            },

            error: function () {

                alert("上传错误!");

            }

        });

    }

</script>

2.后端页面代码

 echo "<pre>";

 print_r($_FILES);

 echo "</pre>";

    打印出以下内容,

    name 文件名称

    type 文件类型

    tmp_name 文件临时地址

    erro 错误编码

    size 文件大小

 

    /*得到文件名称并且赋值给$name变量*/

    $name = $_FILES['fileArray']['name'];

    /*截取文件后缀并复制给$last*/

    $last = substr($name,strrpos($name,'.'));

    /*使用时间戳修改文件名称连接后缀并且复制给$name*/

    $name = date('YmdHis').rand(10000,99999).$last;

    /*定义要传文件的位置路径*/

    $address = ROOT_PATH.'/upload/'.$name;

    /*使用函数move_uploaded_file 移动临时文件到定义好的地址*/

    if(move_uploaded_file($_FILES['fileArray']['tmp_name'],$address)){

        echo 1;

    }else{

        echo 0;

    }



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
ApachePHP安装问题(SUSELinux)发布时间:2022-07-10
下一篇:
php将秒转换为分:秒函数发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap