コード例 #1
0
ファイル: image.php プロジェクト: 453111208/bbc
 /**
  * 存储图片接口
  *
  * @param object $fileObject 继承SplFileInfo封装的类
  * @param string $from  上传图片用户类型
  */
 public function store($fileObject, $from, $imageType, $test = false)
 {
     $fileObject = $this->__preFileObject($fileObject);
     $this->__checkImage($fileObject);
     $file = $fileObject->getRealPath();
     $imageParams = $this->__getImageParams($file);
     $params['width'] = $imageParams['width'];
     $params['height'] = $imageParams['height'];
     $params['size'] = $fileObject->getClientSize();
     $params['image_name'] = $fileObject->getClientOriginalName();
     $params['img_type'] = $imageType;
     $params['last_modified'] = time();
     $storager = kernel::single('base_storager');
     $result = $storager->upload($fileObject);
     list($url, $ident, $storage) = explode('|', $result);
     $params['url'] = kernel::get_host_mirror_img() . $url;
     $params['ident'] = $ident;
     $params['storage'] = $storage;
     $accountData = $this->__imageAttach($from, $test);
     $params['target_id'] = $accountData['target_id'];
     $params['target_type'] = $accountData['target_type'];
     $params['disabled'] = 0;
     if ($row = $this->objMdlImage->getRow('id', ['url' => $params['url'], 'target_id' => $params['target_id'], ['target_type' => $params['target_type']]])) {
         $this->objMdlImage->update($params, ['id' => $row['id']]);
     } else {
         $this->objMdlImage->insert($params);
     }
     unlink($file);
     return $params;
 }
コード例 #2
0
ファイル: storeQrcode.php プロジェクト: 453111208/bbc
 public function store($params)
 {
     $text = $params['text'];
     $size = $params['size'] ? $params['size'] : 300;
     $qrCode = new QrCode();
     $qrCodeContent = $qrCode->setText($text)->setSize(300)->setPadding(10)->setErrorCorrection('high')->setForegroundColor(array('r' => 0, 'g' => 0, 'b' => 0, 'a' => 0))->setBackgroundColor(array('r' => 255, 'g' => 255, 'b' => 255, 'a' => 0))->setLabelFontSize(16)->getDataUri('png');
     $tmpTarget = tempnam(TMP_DIR, 'qrCode');
     file_put_contents($tmpTarget, $qrCodeContent);
     $imageParams = getimagesize($tmpTarget);
     $size = filesize($tmpTarget);
     $imageName = $params['name'] . '.png';
     $fileObject = new UploadedFile($tmpTarget, $imageName, $imageParams['mime'], $size, 0, true);
     $storager = kernel::single('base_storager');
     $result = $storager->upload($fileObject);
     list($url, $ident, $storage) = explode('|', $result);
     $insertData['url'] = kernel::get_host_mirror_img() . $url;
     $insertData['ident'] = $ident;
     $insertData['storage'] = $storage;
     $insertData['width'] = $imageParams['width'];
     $insertData['height'] = $imageParams['height'];
     $insertData['size'] = $size;
     $insertData['image_name'] = $imageName;
     $insertData['img_type'] = 'qrcode';
     $insertData['last_modified'] = time();
     $insertData['target_id'] = '0';
     $insertData['target_type'] = 'admin';
     $insertData['disabled'] = 0;
     $this->objMdlImage = app::get('image')->model('images');
     if ($row = $this->objMdlImage->getRow('id', ['url' => $insertData['url'], 'target_id' => $insertData['target_id'], ['target_type' => $insertData['target_type']]])) {
         $this->objMdlImage->update($insertData, ['id' => $row['id']]);
     } else {
         $this->objMdlImage->insert($insertData);
     }
     unlink($file);
     return $insertData['url'];
 }
コード例 #3
0
ファイル: imagedata.php プロジェクト: 453111208/bbc
 /**
  * 升级历史数据,将image_id转为URL存储
  */
 private function preImageIdToUrl($imageId)
 {
     if (empty($imageId)) {
         return false;
     }
     if ($imageId && strpos($imageId, '://')) {
         return $imageId;
     }
     $imageIds = explode(',', $imageId);
     $imageMdl = app::get('image')->model('image');
     $data = $imageMdl->getList('*', ['image_id' => $imageIds]);
     foreach ((array) $data as $row) {
         if ($row['url'] && strpos($row['url'], '://')) {
             $url[] = $row['url'];
         } else {
             $resource_host_url = kernel::get_host_mirror_img();
             $url[] = $resource_host_url . str_replace(PUBLIC_DIR, '', MEDIA_DIR) . '/' . $row['ident'];
         }
     }
     return implode(',', $url);
 }