欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

php+ajax实现无刷新文件上传功能(ajaxuploadfile)

程序员文章站 2022-10-19 22:56:24
本文实例为大家分享了php+ajax实现无刷新文件上传的具体代码,供大家参考,具体内容如下 文件上传的表单格式

本文实例为大家分享了php+ajax实现无刷新文件上传的具体代码,供大家参考,具体内容如下

文件上传的表单格式

<form id="uploadform" enctype="multipart/form-data" name="uploadform" method="post" >
    <input id="filetoupload" type="file" name="filetoupload" class="uploadinput" >
    <input id="add_file" type="button" value="提交">
</form>

ajaxfileupload实现文件异步上传效果更好,使用简单:

 <!doctype html>
  <html>
    <head>
      <title></title>
      <meta http-equiv="content-type" content="text/html; charset=utf-8">
      <script type="text/javascript" src="http://www.phpddt.com/usr/themes/dddefault/jquery-1.4.2.min.js"></script>
      <script type="text/javascript" src="ajaxfileupload.js"></script>
    </head>
  <script>
  jquery(function(){  
   $("#buttonupload").click(function(){   
     //加载图标  
     /* $("#loading").ajaxstart(function(){
      $(this).show();
     }).ajaxcomplete(function(){
      $(this).hide();
     });*/
     //上传文件
    $.ajaxfileupload({
      url:'upload.php',//处理图片脚本
      secureuri :false,
      fileelementid :'filetoupload',//file控件id
      datatype : 'json',
      success : function (data, status){
        if(typeof(data.error) != 'undefined'){
          if(data.error != ''){
            alert(data.error);
          }else{
            alert(data.msg);
          }
        }
      },
      error: function(data, status, e){
        alert(e);
      }
  })
  return false;
   }) 
  })
  </script>
    <body>
      <input id="filetoupload" type="file" size="20" name="filetoupload" class="input">
      <button id="buttonupload">上传</button>
    </body>
  </html>

上传还可以传递参数:

 var data = { name: 'my name', description: 'short description' } 
    $.ajaxfileupload({
      url: 'upload.php',
      secureuri: false,
      data: data,
      fileelementid: 'filetoupload',
      datatype: 'json',
      success: function (data) {
        alert(data.msg);

      },
      error: function (data) {
        alert("error");
      }
    });

主要参数说明:

1、url表示处理文件上传操作的文件路径,可以测试url是否能在浏览器中直接访问,如上:upload.php
2、fileelementid表示文件域id,如上:filetoupload
3、secureuri是否启用安全提交,默认为false
4、datatype数据数据,一般选json,javascript的原生态
5、success提交成功后处理函数
6、error提交失败处理函数

需要了解相关的错误提示

1、syntaxerror: missing ; before statement错误

如果出现这个错误就需要检查url路径是否可以访问

2,syntaxerror: syntax error错误

如果出现这个错误就需要检查处理提交操作的php文件是否存在语法错误

3、syntaxerror: invalid property id错误

如果出现这个错误就需要检查属性id是否存在

4、syntaxerror: missing } in xml expression错误

如果出现这个错误就需要检查文件域名称是否一致或不存在

5、其它自定义错误

大家可使用变量$error直接打印的方法检查各参数是否正确,比起上面这些无效的错误提示还是方便很多。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。