控制器:
$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"){
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);
}
}
}
} CJ
}🎜 }🎜 } CJ🎜 } CJy; (array("info"=>"$reinfo","name"=>$filename));🎜 🎜view:🎜
//當使用者選定文件,點選確定後觸發,每個文件將會觸發一次
'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 ","");
$("#jueceb"+ii).text(json.name);
$("#juecedele"+ii).attr ("src","");
$("#juecedele"+ii).attr("value",json.info);
ii++;
}
},
//回傳一個錯誤,選擇檔案的時候觸發
'onSelectError':function(file, errorCode, errorM){
switch(errorCode) {
case -100:){
switch(errorCode) {
case -100:
("超出系統限制的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:
}
}
});
以上就介紹了Yii Uploadify批量上傳,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。 🎜 🎜 🎜