/** * save productPIC * return boolen */ public function productSave() { $user_id = \Yii::$app->user->getId(); $baseimgurl = 'date/upload/wechat/product/'; //生成随机文件名 $basefilename = $user_id . '_' . time() . '_' . rand(1000, 9999); $this->s_img_url = $sfilename = $baseimgurl . 's' . $basefilename . '.' . $this->file->extension; $this->o_img_url = $ofilename = $baseimgurl . 'o' . $basefilename . '.' . $this->file->extension; $this->m_img_url = $mfilename = $baseimgurl . 'm' . $basefilename . '.' . $this->file->extension; $this->b_img_url = $bfilename = $baseimgurl . 'b' . $basefilename . '.' . $this->file->extension; $this->file->saveAs($bfilename); $image = \Yii::$app->image->load($bfilename); //生成中图片 $image->resize(900, 600, Image::NONE); $image->save($mfilename); //生成小图片 $image->resize(450, 300, Image::NONE); $image->save($sfilename); //生成微略图 $image->resize(90, 60, Image::NONE); $image->save($ofilename); $newpic = new Pic(); $newpic->setAttributes(['user_id' => $user_id, 'pic_type' => 0, 'pic_s_img' => '/' . $sfilename, 'pic_m_img' => '/' . $mfilename, 'pic_b_img' => '/' . $bfilename]); if ($newpic->save()) { $this->id = \Yii::$app->db->getLastInsertID(); return true; } return FALSE; }
/** * 微信处理图片 */ public static function fitImage($obj, Users $user) { #判断图片是否开启 $pic_save_status = \Yii::$app->cache->get("qys_pic_save_" . $user->user_id); $count = Pic::find()->where("user_id=:user_id", array(":user_id" => $user->user_id))->count("*"); if ($pic_save_status == false) { $content = "没有开启保存图片功能,该图片不会被服务器保存."; } elseif ($count >= 20) { $content = "图片已经超过20张,不再做保存。"; } else { $count = Pic::find()->where("user_id=:user_id", array(":user_id" => $user->user_id))->count("*"); #获得图片地址 $pic = file_get_contents($obj->PicUrl); $picname = time() . "_" . $user->user_id . ($count + 1) . ".gif"; $pic_path = Yii::getPathOfAlias('webroot') . '/date/uplaod/'; $pic_show_path = '/date/uplaod/'; file_put_contents($pic_path . $picname, $pic); if (file_exists($pic_path . $picname)) { #小图保存 $simage = Yii::app()->image->load($pic_path . $picname); $simage->resize(80, 80); $simage->save($pic_path . "s_" . $picname); #中图保存 $mimage = Yii::app()->image->load($pic_path . $picname); $mimage->resize(240, 240); $mimage->save($pic_path . "m_" . $picname); #大图保存 $bimage = Yii::app()->image->load($pic_path . $picname); $bimage->save($pic_path . "b_" . $picname); $userPic = new Pic(); $picArray = array('user_id' => $user->user_id, 'pic_type' => 0, 'pic_s_img' => $pic_show_path . "s_" . $picname, 'pic_m_img' => $pic_show_path . "m_" . $picname, 'pic_b_img' => $pic_show_path . "n_" . $picname); $userPic->setAttributes($picArray); if ($userPic->validate() && $userPic->save()) { $content = "图片已经保存。"; } else { $content = "图片保存失败,请重新发送。"; } } else { $content = "保存失败。"; } unlink($pic_path . $picname); } WechatCheck::_transmitText($obj, $content); }
/** * 删除图片 */ public function actionDeletepropic() { $user_id = \Yii::$app->user->getId(); $p_params = Yii::$app->request->get(); $delPic = Pic::find()->where(" id=:id AND user_id=:user_id ", [":id" => $p_params['id'], ":user_id" => $user_id])->one(); if (!$delPic) { throw new NotFoundHttpException(Yii::t('app', 'Page not found')); } if ($delPic->delete()) { Yii::$app->response->getHeaders()->set('Vary', 'Accept'); Yii::$app->response->format = Response::FORMAT_JSON; @unlink(Yii::$app->getBasePath() . '/web' . $delPic->pic_s_img); @unlink(Yii::$app->getBasePath() . '/web' . $delPic->pic_m_img); @unlink(Yii::$app->getBasePath() . '/web' . $delPic->pic_b_img); $response['files'][] = ['name' => TRUE]; } else { $response[] = ['error' => '删除失败']; } return $response; }
/** * 选择商品图片 * @return type */ public function actionSelectimg() { $p_param = \Yii::$app->request->get(); $user_id = \Yii::$app->user->getId(); if (isset($p_param['id'])) { $oneLogistics = Logistics::find()->where("id=:id", [':id' => $p_param['id']])->one(); if ($oneLogistics) { //图片选择处理 if (isset($_POST['Logistics'])) { if (is_numeric($_POST['Logistics']['logis_s_img'])) { #获得图片 $selectpic = Pic::find()->where('user_id=:user_id AND id=:id', [':user_id' => $user_id, ':id' => $_POST['Logistics']['logis_s_img']])->one(); if ($selectpic) { $oneLogistics->setAttribute('logis_s_img', $selectpic->pic_s_img); $oneLogistics->setAttribute('logis_m_img', $selectpic->pic_m_img); $oneLogistics->setAttribute('logis_b_img', $selectpic->pic_b_img); if ($oneLogistics->update()) { $error = '更改成功'; $notices = array('type' => 2, 'msgtitle' => '操作成功', 'message' => $error, 'backurl' => Url::toRoute('/member/logistics/index'), 'backtitle' => '返回'); \Yii::$app->getSession()->setFlash('wechat_fail', array($notices)); $this->redirect(Url::toRoute('/public/notices')); \Yii::$app->end(); } } } } $query = Pic::find()->where('user_id=:user_id AND pic_type=2', [':user_id' => $user_id])->orderBy(" id desc "); $countQuery = clone $query; $pages = new Pagination(['totalCount' => $countQuery->count(), 'pageSize' => '9']); $models = $query->offset($pages->offset)->limit($pages->limit)->all(); return $this->render('logistics_selectimg', ['model' => $oneLogistics, 'models' => $models, 'pages' => $pages]); \Yii::$app->end(); } } $error = '不存在此信息'; $notices = array('type' => 2, 'msgtitle' => '错误的操作', 'message' => $error, 'backurl' => Url::toRoute('/member/logistics/index'), 'backtitle' => '返回'); \Yii::$app->getSession()->setFlash('wechat_fail', array($notices)); $this->redirect(Url::toRoute('/public/notices')); }
public function actionIndex() { $user = \Yii::$app->user->getIdentity(); $post = \Yii::$app->request->post(); //图片选择处理 if (isset($post['User'])) { if (is_numeric($post['User']['litpic'])) { #获得图片 $selectpic = Pic::find()->where('user_id=:user_id AND id=:id', [':user_id' => $user->user_id, ':id' => $post['User']['litpic']])->one(); if ($selectpic) { $user->setAttribute('litpic', $selectpic->pic_s_img); if ($user->update()) { $error = '更改成功'; $notices = array('type' => 2, 'msgtitle' => '操作成功', 'message' => $error, 'backurl' => Url::toRoute('/member/user/index'), 'backtitle' => '返回'); Yii::$app->getSession()->setFlash('wechat_fail', array($notices)); $this->redirect(Url::toRoute('/public/notices')); Yii::$app->end(); } } } } //获得头像类型图片 $query = Pic::find()->where('user_id=:user_id AND pic_type=1', [':user_id' => $user->user_id])->orderBy(" id desc "); $countQuery = clone $query; $pages = new Pagination(['totalCount' => $countQuery->count(), 'pageSize' => '9']); $models = $query->offset($pages->offset)->limit($pages->limit)->all(); return $this->render('user_index', ['model' => $user, 'models' => $models, 'pages' => $pages]); \Yii::$app->end(); }