当前位置: 首页>>代码示例>>PHP>>正文


PHP ET::uploader方法代码示例

本文整理汇总了PHP中ET::uploader方法的典型用法代码示例。如果您正苦于以下问题:PHP ET::uploader方法的具体用法?PHP ET::uploader怎么用?PHP ET::uploader使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ET的用法示例。


在下文中一共展示了ET::uploader方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: uploadHeaderImage

 /**
  * Upload a header image.
  *
  * @return void
  */
 protected function uploadHeaderImage($form)
 {
     $uploader = ET::uploader();
     try {
         // Validate and get the uploaded file from this field.
         $file = $uploader->getUploadedFile("forumHeaderImage");
         // Save it as an image, restricting it to a maximum size.
         $logo = $uploader->saveAsImage($file, PATH_UPLOADS . "/logo", 500, 85, "max");
         $logo = str_replace(PATH_UPLOADS, "uploads", $logo);
         // Delete the old logo (if we didn't just overwrite it.)
         if ($logo != C("esoTalk.forumLogo")) {
             @unlink(C("esoTalk.forumLogo"));
         }
         return $logo;
     } catch (Exception $e) {
         // If something went wrong up there, add the error message to the form.
         $form->error("forumHeaderImage", $e->getMessage());
     }
 }
开发者ID:nowaym,项目名称:esoTalk,代码行数:24,代码来源:ETSettingsAdminController.class.php

示例2: action_thumb

 public function action_thumb($attachmentId = false)
 {
     if (!($attachment = $this->getAttachment($attachmentId))) {
         return;
     }
     $model = ET::getInstance("attachmentModel");
     $path = $model->path() . $attachmentId . $attachment["secret"];
     $thumb = $path . "_thumb";
     if (!file_exists($thumb)) {
         try {
             $uploader = ET::uploader();
             $thumb = $uploader->saveAsImage($path, $thumb, 200, 150, "crop");
             $newThumb = substr($thumb, 0, strrpos($thumb, "."));
             rename($thumb, $newThumb);
             $thumb = $newThumb;
         } catch (Exception $e) {
             return;
         }
     }
     header('Content-Type: ' . $model->mime($attachment["filename"]));
     echo file_get_contents($thumb);
 }
开发者ID:ZerGabriel,项目名称:Attachments,代码行数:22,代码来源:AttachmentController.class.php

示例3: action_upload

 public function action_upload()
 {
     //		require_once 'qqFileUploader.php';
     //		$uploader = new qqFileUploader();
     //		$uploader->inputName = 'qqfile';
     // 管理画面で設定されたファイル拡張子(画像のみ)
     // Set the allowed file types based on config.
     $allowedFileTypes = C("plugin.Attachments.allowedFileTypes");
     // 管理画面で設定されたMAXサイズ(デフォルト: 25MB)
     // Set the max file size based on config.
     $maxSize = C("plugin.Attachments.maxFileSize");
     $model = $this->getAttachmentModel();
     $id = "";
     try {
         // アップロード処理
         $attachmentId = "";
         $uploader = ET::uploader();
         $filepath = $uploader->getUploadedFile(self::$file_key, $allowedFileTypes);
         if (file_exists($filepath)) {
             // ファイルサイズチェック
             $size = filesize($filepath);
             if ($size > $maxSize) {
                 // TODO: サイズ超過 エラー時
             }
             // 元ファイル名
             $name = $_FILES[self::$file_key]["name"];
             $ext = strtolower(pathinfo($name, PATHINFO_EXTENSION));
             if ($ext != "gif") {
                 // gif 以外はjpg で保存
                 $ext = "jpg";
             }
             // ファイル名
             $baseName = pathinfo($name, PATHINFO_BASENAME);
             //                        $baseName = pathinfo($filepath, PATHINFO_FILENAME) .$ext;
             $attachmentId = SwcUtils::createUniqKey(13);
             // ランダム文字列
             $secret = generateRandomString(13, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890");
             // 保存先ファイルパス
             $destPath = $model->path() . $attachmentId . $secret . "." . $ext;
             // MAX値超過する場合 リサイズする
             $outputFile = $uploader->saveAsImage($filepath, $destPath, SWC_IMG_MAX_W, SWC_IMG_MAX_H);
             // 画像データ
             $imgFile = file_get_contents($outputFile);
             // エンティティ設定
             $entity = array("attachmentId" => $attachmentId, "filename" => $baseName, "secret" => $secret, "content" => $imgFile);
             $paramPostId = R("postId");
             if (preg_match('/^p[0-9]+$/', $paramPostId)) {
                 // postID がある場合 "p"から始まる
                 // "p"を除去して登録
                 $entity["postId"] = substr($paramPostId, 1);
             } else {
                 if (preg_match('/^c[0-9]+$/', $paramPostId)) {
                     // 会話ID を設定 "c"から始まる
                     // 新規の場合、"c0"が設定されている
                     // アップロード時は"c" を付けたまま一時登録する
                     $entity["conversationId"] = $paramPostId;
                 }
             }
             // sessId取得
             $sessId = ET::$session->getSessId();
             $entity["sessId"] = $sessId;
             $model->create($entity, false);
         }
     } catch (Exception $e) {
         // TODO:
         return;
     }
     $result = array();
     if ($attachmentId) {
         // OK の場合
         $result["success"] = 1;
         $result["uploadName"] = $baseName;
         $result["attachmentId"] = $attachmentId;
     } else {
         // NG
         $result["success"] = 0;
     }
     header("Content-Type: text/plain");
     echo json_encode($result);
 }
开发者ID:m-mori,项目名称:forum,代码行数:80,代码来源:AttachmentController.class.php

示例4: saveAvatar

 /**
  * Save the contents of the avatar field when the general settings form is submitted.
  *
  * @param string $key The name of the field that was submitted.
  * @param ETForm $form The form object.
  * @param array $preferences An array of preferences to write to the database.
  * @return string
  */
 public function saveAvatar($key, $form, &$preferences)
 {
     if (empty($_FILES[$key]["tmp_name"])) {
         return;
     }
     $uploader = ET::uploader();
     try {
         // Validate and get the uploaded file from this field.
         $file = $uploader->getUploadedFile($key);
         // Save it as an image, cropping it to the configured avatar size.
         $avatar = $uploader->saveAsImage($file, PATH_UPLOADS . "/avatars/" . ET::$session->userId, C("esoTalk.avatars.width"), C("esoTalk.avatars.height"), "crop");
         // Update the member's avatarFormat field to the avatar file's extension.
         ET::memberModel()->updateById(ET::$session->userId, array("avatarFormat" => pathinfo($avatar, PATHINFO_EXTENSION)));
     } catch (Exception $e) {
         // If something went wrong up there, add the error message to the form.
         $form->error($key, $e->getMessage());
     }
 }
开发者ID:nowaym,项目名称:esoTalk,代码行数:26,代码来源:ETSettingsController.class.php

示例5: action_thumb

 public function action_thumb($attachmentId = false)
 {
     if (!($attachment = $this->getAttachment($attachmentId))) {
         return;
     }
     $model = ET::getInstance("attachmentModel");
     //$path = $model->path().$attachmentId.$attachment["secret"];
     $path = $model->path() . $attachmentId . '_' . $attachment["filename"];
     //$thumb = $path."_thumb";
     $thumb = $model->path() . 'thumb_' . $attachmentId . '_' . $attachment["filename"];
     $thumb_encode = $model->path() . urlencode('thumb_' . $attachmentId . '_' . $attachment["filename"]);
     if (!file_exists(PATH_SAESTOR . $thumb)) {
         try {
             $uploader = ET::uploader();
             $thumb = $uploader->saveAsImage(PATH_SAESTOR . $path, $thumb, 400, 300, "max");
             //$newThumb = substr($thumb, 0, strrpos($thumb, "."));
             //rename($thumb, $newThumb);
             //$thumb = $newThumb;
         } catch (Exception $e) {
             return;
         }
     }
     //in SAE
     $s = new SaeStorage();
     if ($s->fileExists(SAESTOR_DOMAIN, $thumb)) {
         $url = $s->getUrl(SAESTOR_DOMAIN, $thumb_encode);
         redirect($url);
     } else {
         $this->render404(T("message.attachmentNotFound"), true);
         return false;
     }
     //header('Content-Type: '.$model->mime($attachment["filename"]));
     //echo file_get_contents($thumb);
 }
开发者ID:ky0ncheng,项目名称:esotalk-for-sae,代码行数:34,代码来源:AttachmentController.class.php

示例6: createThumb

 /**
  * サムネイル画像登録
  * @param type $attachment
  * @param type $type 1:メイン画像
  */
 public function createThumb($attachment, $postId, $type, $isRemove = false)
 {
     $uploader = ET::uploader();
     // 一時ファイルパス取得
     $srcPath = $this->getTempFileName($attachment);
     $thumbPath = $this->getThumbFileName($srcPath);
     if (!file_exists($srcPath) && $attachment["content"]) {
         // 元画像なしの場合
         file_put_contents($srcPath, $attachment["content"]);
     }
     // サムネイル画像生成
     $thumb = $uploader->saveAsImage($srcPath, $thumbPath, SWC_IMG_THUMB_W, SWC_IMG_THUMB_H, "crop");
     $imgFile = file_get_contents($thumb);
     // type= 1: メイン画像
     $entity = array("thumbId" => $attachment["attachmentId"], "postId" => $postId, "type" => $type, "attachmentId" => $attachment["attachmentId"], "content" => $imgFile);
     ET::SQL()->insert("thumb")->set("thumbId", $attachment["attachmentId"])->set("postId", $postId)->set("type", $type)->set("attachmentId", $attachment["attachmentId"])->set("content", $imgFile)->exec();
     if ($isRemove) {
         // 削除フラグON
         $this->removeFile($attachment);
     }
 }
开发者ID:m-mori,项目名称:forum,代码行数:26,代码来源:AttachmentModel.class.php

示例7: uploadBackgroundImage

 /**
  * Upload a background image.
  * 
  * @return void
  */
 protected function uploadBackgroundImage($form)
 {
     $uploader = ET::uploader();
     try {
         // Validate and get the uploaded file from this field.
         $file = $uploader->getUploadedFile("bodyImageFile");
         // Save it as an image, restricting it to a maximum size.
         $bg = $uploader->saveAsImage($file, PATH_UPLOADS . "/bg", 1, 1, "min");
         $bg = str_replace(PATH_UPLOADS, "uploads", $bg);
         // Delete the old background image (if we didn't just overwrite it.)
         if ($bg != C("skin.Default.bodyImage")) {
             @unlink(C("skin.Default.bodyImage"));
         }
         return $bg;
     } catch (Exception $e) {
         // If something went wrong up there, add the error message to the form.
         $form->error("bodyImageFile", $e->getMessage());
     }
 }
开发者ID:AlexandrST,项目名称:esoTalk,代码行数:24,代码来源:skin.php


注:本文中的ET::uploader方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。