| 
                    
                    PHP Ajax上传文件实例,ajaxfileupload.js讲过利用jquery ajax与php实现图片上传,下面我介绍利用php ajax实现各种文件无刷新上传,直接放实例希望给各位同学有帮助,可以批量进行添加上传,简单方便,代码如下: 
	
	<script type="text/javascript" src="jquery-1.5.1.min.js"></script>   <script    type="text/javascript" >   jQuery.extend({            createUploadIframe: function(id, uri)     {                         var frameId = 'jUploadFrame' + id;             var iframeHtml = '<iframe id="' + frameId + '" name="' + frameId + '" style="position:absolute; top:-9999px; left:-9999px"';            if(window.ActiveXObject)            {                 if(typeof uri== 'boolean'){                   iframeHtml += ' src="' + 'javascript:false' + '"';                   }                 else if(typeof uri== 'string'){                   iframeHtml += ' src="' + uri + '"';                   }             }            iframeHtml += ' />';            jQuery(iframeHtml).appendTo(document.body);               return jQuery('#' + frameId).get(0);             },     createUploadForm: function(id, fileElementId, data)     {                var formId = 'jUploadForm' + id;        var fileId = 'jUploadFile' + id;        var form = jQuery('<form  action="" method="POST" name="' + formId + '" id="' + formId + '" enctype="multipart/form-data"></form>');           if(data)        {            for(var i in data)            {               jQuery('<input type="hidden" name="' + i + '" value="' + data[i] + '" />').appendTo(form);            }                  }              var oldElement = jQuery('#' + fileElementId);        var newElement = jQuery(oldElement).clone();        jQuery(oldElement).attr('id', fileId);        jQuery(oldElement).before(newElement);        jQuery(oldElement).appendTo(form);                 jQuery(form).css('position', 'absolute');        jQuery(form).css('top', '-1200px');        jQuery(form).css('left', '-1200px');        jQuery(form).appendTo('body');             return form;     },       ajaxFileUpload: function(s) {                  s = jQuery.extend({}, jQuery.ajaxSettings, s);         var id = new Date().getTime()                var form = jQuery.createUploadForm(id, s.fileElementId, (typeof(s.data)=='undefined'?false:s.data));        var io = jQuery.createUploadIframe(id, s.secureuri);        var frameId = 'jUploadFrame' + id;        var formId = 'jUploadForm' + id;                         if ( s.global && ! jQuery.active++ )        {            jQuery.event.trigger( "ajaxStart" );        }                     var requestDone = false;                  var xml = {}            if ( s.global )             jQuery.event.trigger("ajaxSend", [xml, s]);                  var uploadCallback = function(isTimeout)        {                      var io = document.getElementById(frameId);             try             {                            if(io.contentWindow)               {                    xml.responseText = io.contentWindow.document.body?io.contentWindow.document.body.innerHTML:null;                    xml.responseXML = io.contentWindow.document.XMLDocument?io.contentWindow.document.XMLDocument:io.contentWindow.document;                                   }else if(io.contentDocument)               {                    xml.responseText = io.contentDocument.document.body?io.contentDocument.document.body.innerHTML:null;                   xml.responseXML = io.contentDocument.document.XMLDocument?io.contentDocument.document.XMLDocument:io.contentDocument.document;               }                                 }catch(e)            {               jQuery.handleError(s, xml, null, e);            }             if ( xml || isTimeout == "timeout")             {                              requestDone = true;                 var status;                 try {                     status = isTimeout != "timeout" ? "success" : "error";                                          if ( status != "error" )                   {                                                  var data = jQuery.uploadHttpData( xml, s.dataType );                                                      if ( s.success )                             s.success( data, status );                                                       if( s.global )                             jQuery.event.trigger( "ajaxSuccess", [xml, s] );                     } else                         jQuery.handleError(s, xml, status);                 } catch(e)                {                     status = "error";                     jQuery.handleError(s, xml, status, e);                 }                                    if( s.global )                     jQuery.event.trigger( "ajaxComplete", [xml, s] );                                    if ( s.global && ! --jQuery.active )                     jQuery.event.trigger( "ajaxStop" );                                    if ( s.complete )                     s.complete(xml, status);                   jQuery(io).unbind()                   setTimeout(function()                                 {   try                                     {                                        jQuery(io).remove();                                        jQuery(form).remove();                                                                               } catch(e)                                     {                                        jQuery.handleError(s, xml, null, e);                                    }                                                                  }, 100)                   xml = null               }         }                  if ( s.timeout > 0 )         {             setTimeout(function(){                                  if( !requestDone ) uploadCallback( "timeout" );             }, s.timeout);         }         try         {              var form = jQuery('#' + formId);            jQuery(form).attr('action', s.url);            jQuery(form).attr('method', 'POST');            jQuery(form).attr('target', frameId);             if(form.encoding)            {               jQuery(form).attr('encoding', 'multipart/form-data');                           }             else            {                  jQuery(form).attr('enctype', 'multipart/form-data');                     }                     jQuery(form).submit();           } catch(e)         {                       jQuery.handleError(s, xml, null, e);         }                jQuery('#' + frameId).load(uploadCallback );         return {abort: function () {}};         },       uploadHttpData: function( r, type ) {         var data = !type;         data = type == "xml" || data ? r.responseXML : r.responseText;                  if ( type == "script" )             jQuery.globalEval( data );                  if ( type == "json" )             eval( "data = " + data );                  if ( type == "html" )             jQuery("<div>").html(data).evalScripts();           return data;     } })  </script>   <form id="upform" action="" method="post" enctype="multipart/form-data">     <input id='fname' size='80' /><br> <input type="file" name="file1"        id="file1" size="30" /> <input type="button" value="上传"        onclick="return ajaxFileUpload();" /> <span id="msg"        style="display: none">UpLoading...</span> </form>   <script type="text/javascript"> var str = ''; function ajaxFileUpload(){       $("#msg")     .ajaxStart(function(){        $(this).show();     });              $.ajaxFileUpload(     {        url:'up_deal.php',        secureuri:false,        fileElementId:'file1',        dataType: 'text',                success: function(data){               if(data=='error'){                   $('#msg').html("<span style='color:red'>上传失败</span>");               }else{                   $('#msg').html("<span style='color:green'>上传成功</span>");                   str +=  data+'@';                   $('#fname').val(str);               }            }        }     );     return false; } </script>    up_deal.php,代码如下: 
	
	<?php if ((($_FILES["file1"]["type"] == "image/gif") || ($_FILES["file1"]["type"] == "image/jpeg") || ($_FILES["file1"]["type"] == "image/bmp") || ($_FILES["file1"]["type"] == "image/pjpeg")) && ($_FILES["file1"]["size"] < 100000)){     $extend = explode(".",$_FILES["file1"]["name"]);     $key = count($extend)-1;     $ext = ".".$extend[$key];     $newfile = time().$ext;          if(!file_exists('upload')){mkdir('upload');}     move_uploaded_file($_FILES["file1"]["tmp_name"],"upload/" . $newfile);     @unlink($_FILES['file1']);     echo $newfile; }else {     echo 'error'; } ?>  |