加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

解决swfupload上传文件session失效

发布时间:2020-12-15 17:37:01 所属栏目:百科 来源:网络整理
导读:使用flash插件上传,可能是很多人选择的方式,但是随之而来的session丢失问题也着实让人头疼 swfupload代码如下: script type="text/javascript" src='#'" echo base_url();?/static/js/swfupload/swfupload/swfupload.js"/scriptscript type="text/javasc

使用flash插件上传,可能是很多人选择的方式,但是随之而来的session丢失问题也着实让人头疼

swfupload代码如下:

<script type="text/javascript" src='#'"  echo base_url();?>/static/js/swfupload/swfupload/swfupload.js"></script>
<script type="text/javascript" src='#'"  echo base_url();?>/static/js/swfupload/js/swfupload.queue.js"></script>
<script type="text/javascript" src='#'"  echo base_url();?>/static/js/swfupload/js/fileprogress.js"></script>
<script type="text/javascript" src='#'"  echo base_url();?>/static/js/swfupload/js/handlers.js"></script>
<script type="text/javascript">
var swfu;
var settings = {} ;
window.onload = function() {
 settings = {
flash_url : "<?php echo base_url() ;?>/static/js/swfupload/swfupload/swfupload.swf",upload_url: "<?php echo site_url('admin/file_manager/file/upload_file') ;?>?inajax=1",post_params: {"session":"<?php echo session_id() ;?>"},file_size_limit : "1000 MB",file_types : "*.*",file_types_description : "All Files",file_upload_limit : 100,file_queue_limit : 0,custom_settings : {
progressTarget : "fsUploadProgress",cancelButtonId : "btnCancel"
},debug: true,// Button settings
//button_image_url: "/js/swfupload/images/TestImageNoText_65x29.png",button_image_url:'<?php echo base_url() ;?>/static/js/swfupload/images/bg.png',button_width: "63",button_height: "20",button_placeholder_id: "spanButtonPlaceHolder",button_text: '<a class="theFont">批量上传</a>',button_text_style: ".theFont{ font-size: 12; color:black ; cursor:pointer;text-align:center}",button_text_left_padding: 0,button_text_top_padding: 0,// The event handler functions are defined in handlers.js
file_queued_handler : fileQueued,file_queue_error_handler : fileQueueError,file_dialog_complete_handler : fileDialogComplete,upload_start_handler : uploadStart,upload_progress_handler : uploadProgress,upload_error_handler : uploadError,upload_success_handler : success_data,upload_complete_handler : uploadComplete,queue_complete_handler : queueComplete// Queue plugin event
};
swfu = new SWFUpload(settings);
     };
               
 function uploadComplete(){
//alert(3);
 }
 function uploadStart(){
 swfu.addPostParam("SubPath",path);
               
 }
 function success_data(file,serverData) {
alert(serverData);
}
</script>

上面的我在post后面加了个参数session=<?php echo sessionid(); ?>

在php端

if(!empty($_POST['session']) && isset($_POST['session'])){
@session_id($_POST['session']);
}
@ob_clean() ;
@session_start();

另外还有个问题,他的传递参数是window.onload 但是我要得到某个文本框的值,那就没办法了,所以我在后面加了一个函数

function uploadStart(){}在post提交之前在后面追加参数即可

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读