Rumah  >  Artikel  >  php教程  >  PHP通过base64方式上传图片 - 开源中国社区

PHP通过base64方式上传图片 - 开源中国社区

PHP中文网
PHP中文网asal
2016-05-20 12:56:312043semak imbas

php代码

	/**
	 * base64图片上传
	 * @param $base64_img
	 * @return array
	 */
	private static function img_upload($base64_img){
		$base64_img = trim($base64_img);
		$up_dir = '../../../upload/images/interface/';

		if(!file_exists($up_dir)){
			mkdir($up_dir,0777);
		}

		if(preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_img, $result)){
			$type = $result[2];
			if(in_array($type,array('pjpeg','jpeg','jpg','gif','bmp','png'))){
				$new_file = $up_dir.date('YmdHis_').method::getRandChar().'.'.$type;
				if(file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_img)))){
					$img_path = str_replace('../../..', '', $new_file);
					return array('code' => 1, 'msg' => "图片上传成功", 'url' => $img_path);
				}
				return array('code' => 2, 'msg' => "图片上传失败");
			}
			//文件类型错误
			return array('code' => 4, 'msg' => "文件类型错误");
		}
		//文件错误
		return array('code' => 3, 'msg' => "文件错误");
	}

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn