图片上传插件完美兼容所有浏览器(IE浏览器、火狐浏览器、谷歌浏览器、360浏览器等等)
使用方法:
1、引入jquery.js库文件1.8以上和jquery.wallform.js文件。
2、新建表单。
<div class="demo"> <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>最大1024KB,支持jpg,gif,png格式。</p> <div id="preview"></div> </div>
3、添加以下JS,记住要加在表单前。
<script type="text/javascript"> $(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(); }); }); </script>
以下是PHP文件源码:
<?php // +---------------------------------------------------------------------- // | 图片上传方法 Author:xiaochuan 28126649@qq.com // +---------------------------------------------------------------------- $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)) exit('请选择要上传的图片'); $ext = extend($name); if(!in_array($ext,$extArr)) exit('图片格式错误!'); if($size>(1024*1024)) exit('图片大小不能超过1024KB'); $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 '上传出错了!'; } } function extend($file_name){ $extend = pathinfo($file_name); return strtolower($extend["extension"]); } ?>