用的是CI框架
后端代码:
<?php class Upload extends MY_Controller { function __construct() { parent::__construct(); $this->load->helper(array('form', 'url')); } function index() { $data = array(); $data['upload_url'] = site_url('upload/ajax_upload'); $this->load->view('upload', $data); } function do_upload() { $config['upload_path'] = './uploads/'; $config['allowed_types'] = 'gif|jpg|png'; $config['max_size'] = '1024'; $config['max_width'] = '1024'; $config['max_height'] = '768'; $this->load->library('upload', $config); if (!$this->upload->do_upload('AidImg')) { echo("<script>parent.callback('" . $this->upload->display_errors() . "',false)</script>"); exit; } else { $data = array('upload_data' => $this->upload->data()); $img_path = base_url() . 'uploads/'; echo "<script>parent.callback('" . $data['upload_data']['file_name'] . "',true,'" . $img_path . "')</script>"; exit; } } } ?>
前端代码:
<html> <head> <title>Upload Form</title> <script type="text/javascript" src="<?php echo base_url() ?>access/js/jquery-1.8.0.min.js"></script> </head> <body> <form id="formImg" action="do_upload" method="post" target="hidden_frame" enctype="multipart/form-data"> <div> <input type="hidden" name="sh_id" id="sh_id" value="{$id}"> <!--这里的{$id}大家可以随便填1个进去--> <input id="AidImg" type="file" name="AidImg" onchange="uploadImg()"/> <div style="display:none;" id="imgError">图片不可为空</div> <iframe style="display:none" name='hidden_frame' id="hidden_frame"></iframe> <div><img id="p_img" src="" width="80" height="80"/> </div> <span class="help_inline">尺寸:80*80</span> </div> </form> </body> </html> <script> function uploadImg() { var names = $("#AidImg").val().split("."); if (names[1] != "gif" && names[1] != "GIF" && names[1] != "jpg" && names[1] != "JPG" && names[1] != "png" && names[1] != "PNG") { $("#imgError").html("<span>" + "图片必须为gif,jpg,png格式" + "</span>"); $("#formImg .help-inline").hide(); $("#imgError").show(); return; } $("#formImg").submit(); $("#imgError").show(); $("#imgError").html("图片上传中ing"); } function callback(message, success, path) { if (success == false) { $("#imgError").html("<span>" + message + "</span>"); $("#imgError").show(); } else { $("#imgError").hide(); $(".fromtrs").show(); $("#formImg .help-inline").hide(); var paths = path; $("#p_img").attr("src", path + message); $("#p_img").attr("imgname", message); //这里由于数据库里只存入图片名称加后缀名,故和路径拆开了 } } </script>