用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3404|回复: 1
收起左侧

[讨论/交流] [分享]使用iframe + ci上传类 实现异步文件上传

[复制链接]
发表于 2013-5-9 10:10:42 | 显示全部楼层 |阅读模式
非常简单的使用jquery实现文件的异步上传,并且在窗口显示上传后的文件名

PHP复制代码
 
<?php
 
class welcome extends CI_Controller {
 
    public function index() {
        $this->load->view('uploader');
    }
 
    public function doupload() {
 
        $config = array(
            'encrypt_name' => TRUE,
            'upload_path' => up_url('', 1),
            'allowed_types' => '*'
        );
 
        $this->load->library('upload', $config);
        if (!$this->upload->do_upload()) {
            $datas['result'] = $this->upload->display_errors();
        } else {
            $datas['result'] = $this->upload->data()['file_name'];
        }
 
        //指定父页面接收上传文件名的元素id
        $datas['result_field'] = 'up_name';
        $this->load->view('upload_result', $datas);
    }
 
}
 
复制代码

HTML复制代码
 
<!DOCTYPE HTML>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <script src="<?php echo public_res('js/jquery-1.9.1.min.js'); ?>" type="text/javascript"></script>
        <script type="text/javascript">
            function tt1() {
                $("#upup").appendTo($("#iff").contents().find("body")).submit();
                                $("#up_name").val("uploading,please wait...");
            }
        </script>
    </head>
    <body>
        <input id="up_name" value="" disabled="disabled" />
        <form id="upup" action="<?php echo site_url('welcome/doupload'); ?>" method="post" enctype="multipart/form-data">
            <input name="userfile" type="file" />
            <input type="button" value="upload" />
        </form>
 
        <iframe id="iff">
        </iframe>
    </body>
</html>
 
复制代码

HTML复制代码
 
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script src="<?php echo public_res('js/jquery-1.9.1.min.js'); ?>" type="text/javascript"></script>
        <script type="text/javascript">
            $(document).ready(function() {
                var upload_result = $("#result").html();
 
                $(window.parent.document).find("#<?php echo $result_field; ?>").val(upload_result);
            });
        </script>
    </head>
    <body>
        <div id="result"><?php echo $result; ?></div>
    </body>
</html>
 
 
复制代码


iframe_uploader.zip (470.1 KB, 下载次数: 60)


发表于 2013-11-4 21:23:42 | 显示全部楼层
代码不能用啊  大哥

本版积分规则