程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> Yii Uploadify批量上傳,yiiuploadify批量

Yii Uploadify批量上傳,yiiuploadify批量

編輯:關於PHP編程

Yii Uploadify批量上傳,yiiuploadify批量


控制器:

 

$reinfo = "fail";
$filename="";
//重要說明:
//使用uploadify 上傳時,每次這個sessionID都會改變,
//改變之後出現的不利影響就是無法再獲取sessionID線下的其它session值,比如 Yii::app()->session['ik'] 值就變了。
//但是這個地方值不能變,仍要用 Yii::app()->session['ik'] 的值來作驗證,
//因此一定要使用這句 session_id($pse); 作用是將sessionID改回來,與原來的sessionID一致,以便順利獲取值
//有了該值之後,原來的 sessionID 和 上傳之後的 sessionID 是一致的。
//echo Yii::app()->session->sessionID; 這是Yii獲取sessionID的方法
//2014-10-14 13:04 W.one
$pse = Yii::app()->request->getParam('PHPSESSION');
session_id($pse);
/*
* 如果不使用上句的話,Yii::app()->session['ik']==$who 是不可能相等的,因為sessionID變了
*/
$who = (int)Yii::app()->request->getParam('who');
$sjm = Yii::app()->request->getParam('sjm');
$zlsjm = Yii::app()->request->getParam("zlsjm");
//$xceikey = (int)Yii::app()->request->getParam('xceikey');//獲取的相冊ikey,默認為請選擇,值為空,一定要選擇一個值
if ($who==Yii::app()->session['ik']){
$sjz = time();
$tempFile = $_FILES['Filedata'];
$checkType = pathinfo($tempFile["name"],PATHINFO_EXTENSION);
if ($checkType != "notimg"){
$targetPath = $_SERVER['DOCUMENT_ROOT'] . '/oa/upload/file/';
$scfile = date("Y").date("m").date("d").date("His")."_".$who."_".md5(microtime()).".".$checkType;
$targetFile = str_replace('//','/',$targetPath) . $scfile;
if (move_uploaded_file($tempFile['tmp_name'],$targetFile)){
$relativeurl = "./upload/file/".$scfile;
//$relativeurl = $tempFile["name"];
$zlfj = new Zlfj();
$zlfj->fj_zlsjm = $zlsjm;
$zlfj->fj_uikey = Yii::app()->session["ik"];
$zlfj->fj_path = "./upload/file/".$scfile;
$zlfj->fj_time = time();
$zlfj->fj_name = $tempFile["name"];
if($zlfj->validate()&&$zlfj->save()){
$reinfo = $relativeurl;
$filename=$tempFile["name"];
}else{
@unlink($targetFile);
}

}
}
}
echo CJSON::encode(array("info"=>"$reinfo","name"=>$filename));

 

 

 

view:

 

<script type="text/javascript">
$(function() {
ii=0;
$('#xceimgs2').uploadify({
'formData' : {
'sjm' : '<?php echo md5(time());?>',
'who' : "<?php echo Yii::app()->session['ik'];?>",
'PHPSESSION':'<?php echo Yii::app()->session->sessionID;?>',
},
'swf' : '<?php echo JS;?>uploadify.swf?var=' + (new Date()).getTime(),
'uploader' : './index.php?r=site/uploadify1',
//將默認的SELECT FILES改成中文'選擇文件'
'buttonText':'上傳附件',
//浏覽按鈕的寬度
'width':'120',
//浏覽按鈕的高度
'height':'26',
//在浏覽窗口底部的文件類型下拉菜單中顯示的文本
'fileTypeDesc':'支持的格式:',
//允許上傳的文件後綴
'fileTypeExts':'*.doc',
//上傳文件的大小限制
'fileSizeLimit':'50MB',
//上傳數量
'queueSizeLimit' : 50,
//設置是否可以一次上傳多個文件
'multi':true,

//當用戶選定文件,點確定後觸發,每個文件將會觸發一次
'onSelect':function(file){

},

'onUploadStart' : function(file) {
$("#xceimgs2").uploadify("settings", "formData",{'zlsjm':$("#juece_zlsjm").val(),'zlikey':$("#juece_zlikey").val()});
},

'onUploadSuccess':function(file, data, response){
json=eval("("+data+")");
//alert(json["name"]);return false;
//不等於fail表明上傳成功
if(json.info!="fail"){
$("#jueceim"+ii).attr("src","<?php echo IMG."doc.jpg";?>");
$("#jueceb"+ii).text(json.name);
$("#juecedele"+ii).attr("src","<?php echo IMG."delete2.png";?>");
$("#juecedele"+ii).attr("value",json.info);
ii++;
}
},

//返回一個錯誤,選擇文件的時候觸發
'onSelectError':function(file, errorCode, errorMsg){
switch(errorCode) {
case -100:
alert("上傳的文件數量已經超出系統限制的 50 個文件!");
break;
case -110:
alert("文件 ["+file.name+"] 大小超出系統限制的"+$('#xceimgs2').uploadify('settings','fileSizeLimit')+"大小!");
break;
case -120:
alert("文件 ["+file.name+"] 大小異常!");
break;
case -130:
alert("文件 ["+file.name+"] 類型不正確!");
break;
default:
}
}
});
});
</script>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved