<div class="ftitle">{$Think.lang.tpl_blupload_tip}</div>
<form id="upload" method='post' enctype="multipart/form-data" style="padding: 10px;">
<input id="blacklistfile" name="blacklistfile" type="file" />
<div align="right" style="padding: 10px;">
<a href="javascript:void(0)" onclick="upload();return false;" class="easyui-linkbutton" iconCls="icon-ok">{$Think.lang.tpl_upload_btn}</a>
</div>
</form>
<script type="text/javascript">
$(function() {
$('#blacklistfile').uploadify({
'swf': "__PUBLIC__js/uploadify/scripts/uploadify.swf",
'uploader': "{:U('Ippbx/Blacklist/doupload')}",
'auto' : false,
'buttonText' : "{$Think.lang.tpl_upload_btn}",
'fileTypeDesc':"{$Think.lang.tpl_blacklistfile_type}",
'fileTypeExts':"*.txt;*.dat;*.csv",
'method' : "POST",
'multi' : false,
'preventCaching':true,
'removeCompleted' : true,
'successTimeout': 1800,
'formData' : {'<?php echo C("USER_AUTH_KEY");?>':'<?php echo $_SESSION[C("USER_AUTH_KEY")];?>' },
});
});
function upload(){
// __submit("{:U('Ippbx/Blacklist/doupload')}","blacklist_dg","data");
$('#blacklistfile').uploadify("upload","*");
}
</script>Cmmon控制器代码class CommonAction extends Action {
public function _initialize(){
if(!isset($_SESSION[C('USER_AUTH_KEY')])){
$this->redirect(C("USER_AUTH_GATEWAY"));
}
$notAuth = in_array(MODULE_NAME, explode(',', C("NOT_AUTH_MODULE"))) ||
in_array(ACTION_NAME, explode(',', C("NOT_AUTH_ACTION")));
if (C("USER_AUTH_ON") && !$notAuth){
import("ORG.Util.RBAC");
if (!RBAC::AccessDecision()){
$this->error(L("unauthorized"));
}
}
}
}接收上传文件并分析处理的代码 /*
* 处理上传的黑名单号码文件,并分析后入库
*/
public function doupload(){
import('ORG.Net.UploadFile');
$upload = new UploadFile(); // 实例化上传类
$upload->maxSize = C("UPLOAD_MAX_SIZE") ; // 设置附件上传大小(字节)
$upload->uploadReplace = true; // 同名则覆盖
$upload->allowExts = array('txt', 'csv', 'dat');// 设置附件上传类型
$upload->savePath = APP_PATH . '/uploads/';// 设置附件上传目录
if(!$upload->upload()) {// 上传错误提示错误信息
$this->ajaxReturn(cjsonreturn(1,$upload->getErrorMsg(),L('error')),'JSON');
}
//上传成功,则开始读文件并分析
$fileinfo = $upload->getUploadFileInfo();
//如果是普通用户,且当前普通用户没有审核号码的授权,且黑名单配置是需要审核的,则要将该号码状态变为待审核状态。
unset($map);
$map['identity'] = array('eq','BLACKLIST');
$map['key'] = array('eq','CHECK');
$db_config_list = M("Config")->where($map)->field("value")->select();
if ($db_config_list['value'] && session("loginid") != C("RBAC_SUPERADMIN")){
$data['blstatus'] = 1; //设置为待审核状态
} else {
$data['blstatus'] = 0;
}
$data['company'] = session("company");
$data['department'] = session("department");
$data['user'] = session("loginid");
$data['cdatetime'] = time();
$db_blacklist = D("Blacklist");
$total = 0;
//开始读取文件
$file_handle = fopen(APP_PATH . '/uploads/' . $fileinfo[0]['savename'], "r");
while ($file_handle && !feof($file_handle))
{
$line = fgets($file_handle);
$line = trim($line);
//检查当前行是否为有效数字
if (is_numeric($line) == FALSE){
continue;
}
if (strlen($line) < 3 || strlen($line) > 32){
continue;
}
//检查当前黑名单号码是否已存在
unset($map);
$map['company'] = array('eq',session('company'));
$map['number'] = array('eq',$line);
if ($db_blacklist->where($map)->count()){
continue;
}
$data['number'] = $line;
if($db_blacklist->add($data) !== FALSE){
$total++;
}
};//while (!feof($file_handle))
fclose($file_handle);
unlink(APP_PATH . '/uploads/' . $fileinfo[0]['savename']);
$msg = L("v_addblnumber") . $total . L("piece");
$this->ajaxReturn(cjsonreturn(0,$msg,L('info')),'JSON');
}
}请大家有空帮帮我阿,谢谢! 最佳答案