以下方法仅临时解决同时上传视频和图片的问题,如有更好办法会更新这篇博文。
//判断是否上传了视频或图片
define('ROOT_PATH', dirname(THINK_PATH) .'/www/' );
if(!empty($_FILES['videofile']['tmp_name'])||!empty($_FILES['imgfile']['tmp_name'])){
$root_path=ROOT_PATH.'Uploads';
//echo $root_path;exit;
if(!is_dir($root_path)){
mkdir($root_path);
}
$root_path=ROOT_PATH.'Uploads/Video';
if(!is_dir($root_path)){
mkdir($root_path);
}
//echo $root_path;exit;
//上传图片
$upload= new \Think\Upload();// 实例化上传类
$upload->maxSize=100048000;// 设置附件上传大小 100M
$upload->exts=array();// 设置附件上传类型
$upload->rootPath=$root_path.'/'; // 设置附件上传根目录
$upload->savePath=''; // 设置附件上传(子)目录
$upload->subName='';
$upload->saveName='uniqid';
$info=$upload->upload();
//dump($info);exit;
if(!$info) {// 上传失败
$this->error ( $upload->getErrorMsg () );
}
if($info['videofile']['savename']!=''){
$_POST['videourl']='/Uploads/Video/'.$info['videofile']['savename'];
}
if($info['imgfile']['savename']!=''){
$_POST['imgurl']='/Uploads/Video/'.$info['imgfile']['savename'];
}
}
PS:因为采用了前后台分离的模式,所以需要定义网站前台根目录的绝对路径常量ROOT_PATH。