最新公告
  • 欢迎访问代码工坊,购买产品可享受在线工单服务!
  • jq与php实现页面文件上传

      在页面上传一个csv文件,web服务器端用php解析上传的csv文件并入库

        <form enctype="multipart/form-data">
            <p>上传csv文件<input type="file" id="csv_file" name="csv_file"/></p>
            <button id="import">导入</button>
        </form>
        <script type="application/javascript">
            $("#import").click(function () {
                var files = $('#csv_file').prop('files');
                var data = new FormData();
                data.append('csv_file', files[0]);
    
                $.ajax({
                    type: 'POST',
                    url: "http://xxxx/import_csv",
                    data: data,
                    cache: false,
                    processData: false,
                    contentType: false,
                    success: function (ret) {
                        alert(ret);
                    }
                });
            });
        </script>

      后端php代码

    <?php
    //上传文件的名称
    //上传文件类型
    //上传文件的大小
    //上传文件的临时文件名称
    //上传文件出错
    //函数:将临时文件移动到指定目录下
    //move_uploaded_file("临时文件",uploads/文件名);
    //上传的文件名不能冲突,同名改名
    /*------
        gbk一个汉字2个字节
        utf8-个汉字3个字节
        1kb = 1024b
        1mb = 1024kb
    ------*/
    //1、获取上传文件的信息
    $mypic = $_FILES["myFile"];
    //var_dump($_FILES);
    //2、判断是否存在上传的文件
    if(!empty($mypic)){
        $picname = $_FILES["myFile"]["name"];
        $picsize = $_FILES["myFile"]["size"];
    //3、判断文件大小   512k--->512*1000
        if($picsize>2*1024*1024){
            echo "图片大小不能超过2MB 请重新选择";
            exit;//终止当前php的运行
        }
    //4、判断类型
        $type = strstr($picname, ".");
        if($type !=".gif" && $type !=".jpg" &&$type!=".png"){
            echo "图片格式不正确";
            exit;
        }
    //5、创建新的文件名,解决名称冲突
    //时间戳/随机数/文件后缀
        $pics = time().rand(1,9999).$type;//1970-1-1
    //6、将临时文件移动到指定目录
        move_uploaded_file($_FILES["myFile"]["tmp_name"],"uploads/".$pics);
    }
    ?>
      php通过$_FILES读取上传的文件,通过tmp_name可以获取上传文件路径,通过fgetcsv函数读取csv文件数据。

    发表评论