zoukankan      html  css  js  c++  java
  • TP3.2整合uplodify文件上传

    HTML中:
    <style>
    #img_upload-queue{120px;float:left;} /*uploadify的上传进度条样式,前面的img_upload是根据上传按钮的ID来的*/
    </style>

    //需要引入这3个JS文件
    <script type="text/javascript" src="__PUBLIC__/js/jquery.js"></script>
    <link rel="stylesheet" href="__PUBLIC__/uploadify/uploadify.css">
    <script src="__PUBLIC__/uploadify/jquery.uploadify.min.js"></script>
    <script>
    $(function() {
    $('#img_upload').uploadify({  //通过ID来调用uplodify
    'swf'      : '__PUBLIC__/uploadify/uploadify.swf',  //必须载入uplodify.swf文件
    'uploader' : "<{:U('Product/uploadify')}>",  //上传提交控制器地址
    'buttonText' : '缩略图上传',  //上传按钮显示的文字
    'onUploadSuccess' : function(file, data, response) {  //上传回调
    $('#img').attr('src','__ROOT__/Upload/thumb/'+ data);  //将返回的地址拼接成图片路径,显示缩略图
    $('#thumb').val(data);  //将返回的地址加载到input中
    },
    //这里的formData主要是解决FF无法通过flash传session的问题,uplodify是通过flash上传的
    'formData'     : { //通过formData往后台传递参数,POST方式;uploadify在FF里上传的时候会丢失session,由于控制器中通过session判 断了登录,所以导致上传失败,返回302错误,因此需要重新传递session内容过去,并在控制器重新组合session
    'sid' : '<{:session_id()}>', //传递SESSIONID
    'sname' : '<{:session("username")}>', //传递username
    'sid' : '<{:session("uid")}>' //传递uid
    }
    });
    });
    </script>

    //HTML中插入uplodify上传控件
    <td>
    <div><input id="thumb" type="text" style="float:left;margin:35px 20px 0 0;" /></div>
    <div style="float:left;margin:30px 20px 0 0;"><input id="img_upload" name="img_upload" type="file" multiple="true" value="" style="float:left" /></div>
    <div><img id="img" src="" style="100px;height:100px;background:#666;" /></div>
    </td>

    PHP中

    //公共控制器,用来验证是否登录等
    class CommonController extends Controller{
    public function _initialize(){
    //此处为解决Uploadify,kindeditor等flash上传在火狐下上传失败,重新设置SESSION
    if ($_POST['sid']) {  //接收自定义传入的内容,然后手动写入session
    session_id($_POST['sid']);
    session_start();
    session('username',$_POST['sname']);  //手动写入session的username,否则下面的判断通不过,则由于没登录导致上传失败
    session('id',$_POST['suid']);
    }
    if(!$_SESSION['username']){
    $this->redirect('Login/index');
    }
    }
    }

    //uplodify文件上传
    public function uploadify(){
    $config = array(
    'maxSize'           =>  1000000, //上传文件的最大值
    'exts'         =>  array('jpeg','jpg','png','gif'), //允许上传的文件后缀 留空不作后缀检查
    'autoSub'           =>  true, // 启用子目录保存文件
    'subName'           =>  array('date','Ymd'), // 子目录创建方式 可以使用hash date custom
    'rootPath'          =>  './Upload/thumb/', //保存根路径
    'savePath'          =>  '', //上传文件保存路径
    );
    $upload = new ThinkUpload($config);
    $info=$upload->upload();
    if($info){
    echo $info['Filedata']['savepath'].$info['Filedata']['savename'];  //拼接出地址直接echo返回
    }else{ //如果上传失败,则输出错误信息
    echo $upload->getError();
    }
    }

  • 相关阅读:
    zipfile模块——读取(查看)zip压缩文件
    line[:1]和split(',')
    csv文件——简单读操作01
    读取文件内容——读取一个二进制文件,然后保存到另外一个文件
    zipfile模块——从zip文件中 解压缩
    读写操作文件——open()函数与读写文件01
    文件的操作
    csv文件——简单读操作01
    读写操作文件——open()函数与读写文件02
    读取文件内容——open函数
  • 原文地址:https://www.cnblogs.com/3body/p/5416694.html
Copyright © 2011-2022 走看看