客户很抠门,OSS也不想买;只能搞个图片上传到服务器;因为通过方法上传的,所以没有经过svn版本控制;svn代码下载中是无法获取到的;方法封装如下 :
protected function uploadFile()
{
//表单上传
if (!is_uploaded_file($_FILES['file']['tmp_name'])){
return array('code'=>1,'msg'=>'上传内容为空');
}
$allow_type = array('image/gif', 'image/gif','image/jpg', 'image/jpeg', 'image/png', 'image/bmp');
if (!isset($_FILES['file']['type']) || !in_array(strtolower($_FILES['file']['type']),$allow_type)){
return array('code'=>1,'msg'=>'上传类型不合法,'.$_FILES['file']['type']);
}
if ($_FILES['file']['error'] > 0 || $_FILES['file']['size'] > 1024 * 1024 * 5){
return array('code'=>1,'msg'=>'图片错误或者超过5M大小');
}
// if (empty($this->data['file_dir'])){
// return ReturnError('上传路径错误');
// }
//$oss_path = SAVE_IMG_LARGER.'/'.trim($this->data['file_dir']).'/'.md5($_FILES['file']['name']).'.png';
//此处要开启服务器中larger这个文件的777权限 该定义的常量就定义,完事了
$picurl = $this->upload_pic($_FILES['file'],ROOT_DIR.'/public/index/source/upload/larger/',WEBURL.'source/upload/larger/');
if(!empty($picurl)){
return array('code'=>0,'msg'=>'上传成功','file'=>$picurl);
}
return array('code'=>1,'msg'=>'上传失败');
//return $this->saveToOss($_FILES['file']['tmp_name'],$oss_path);
}
//上传图片
public function upload_pic($files,$tosrc,$web)
{
//支持的图片类型
$imageArray = array('image/gif','image/gif', 'image/jpeg', 'image/png', 'image/bmp');
if (is_uploaded_file($files['tmp_name']))
{
if($files['error']== 0 &&
$files['size'] > 0 &&
$files['size'] < 100 * 1024 * 1024)
{
$extArray = explode('.',$files['name']);
$fileExt = $extArray[count($extArray) -1];
$filename = md5(time()) .rand(11,99). '.' . $fileExt;
//$filename此处随机文件名
if(move_uploaded_file($files['tmp_name'], $tosrc.$filename))
{
//成功,返回完整的图片地址
return $web.$filename;
}
return false;
}
return false;
}
return false;
}