컨트롤러:
$reinfo = "fail";
$filename="";
//중요 사항:
//uploadify를 사용하여 업로드할 때 이 세션 ID는 매번 변경됩니다.
//변경 나중에 발생하는 부작용은 sessionID의 오프라인 다른 세션 값을 더 이상 얻을 수 없다는 것입니다. 예를 들어 Yii::app()->session['ik'] 값이 변경됩니다.
//하지만 이 곳의 값은 변경할 수 없습니다. 여전히 Yii::app()->session['ik'] 값을 사용하여 확인해야 합니다.
//따라서 사용해야 합니다. this 문장 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는 세션 ID가 변경되었기 때문에 동일할 수 없습니다.
*/
$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 = 날짜("Y").date("m").date("d"). date("그의 ")."_".$who."_".md5(microtime()).".".$checkType;
$targetFile = str_replace('//','/',$ targetPath) . $ scfile;
if (move_uploaded_file($tempFile['tmp_name'],$targetFile)){
$relativeurl = "./upload/file/".$scfile;
//$ 상대 URL = $tempFile ["이름"];
$zlfj = 새로운 Zlfj();
$zlfj->fj_zlsjm = $zlsjm;
$zlfj->fj_uikey = Yii::app() ->세션 ["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));
보기:
위 내용은 콘텐츠 측면을 포함한 Yii Uploadify 일괄 업로드에 대한 소개입니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.