plugins:mediautils

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

plugins:mediautils [2012/01/28 23:17] (現在)
ライン 1: ライン 1:
 +====== NP_MediaUtils ======
 +
 +
 +
 +
 +
 +===== 概要 =====
 +
 +メディア処理/​管理/​表示のための静的メソッド集であるMediaUtilsと、ファイルのためのオブジェクトであるMediumをロードします。このプラグイン単体では、ウェブログIDを特定するためのCookieを維持することしかしません。
 +
 +^General Plugin info ^^
 +^作者: | [[plugins:​authors:​mocchi|Mocchi]] |
 +^最新のバージョン:​ | Ver.0.9.6 (RC2) |
 +^フォーラム参照先:​ | [[http://​japan.nucleuscms.org/​bb/​viewtopic.php?​p=26802 | 現トピック]] [[http://​japan.nucleuscms.org/​bb/​viewtopic.php?​p=26472 | ベータテスト]] |
 +^依存関係:​ | なし |
 +^対応環境:​ | Nucleus CMS 3.40以上、PHPのバージョン5以上 |
 +
 +
 +
 +===== インストール方法 =====
 +
 +  - ZIPファイルを展開して、中身をサーバーのプラグインディレクトリにアップロードします
 +  - スクリプトのパーミションを変更し、実行権限を付与します
 +  - 管理画面からプラグインをインストールして下さい
 +
 +
 +===== リサイズのルール =====
 +
 +リサイズに関するルールだけ記述しておきます。以下の4つのパターンがあります。
 +
 +  - 最大の横幅と縦幅が0のとき
 +  - 最大の横幅が0のとき
 +  - 最大の縦幅が0のとき
 +  - 最大の横幅と縦幅指定されているとき
 +
 +==== 最大の横幅と縦幅が0のとき ====
 +何も処理しません。
 +
 +
 +==== 最大の横幅が0のとき ====
 +最大の縦幅は指定されているため、どんな画像でもこの縦幅に合わせてリサイズします。縦長の画像でも横長の画像でも、縦幅をこの値に合わせてリサイズします。場合によっては画像が拡大されることもあります。
 +
 +
 +==== 最大の縦幅が0のとき ====
 +最大の横幅は指定されているため、どんな画像もこの横幅に合わせてリサイズします。縦長の画像でも横長の画像でも、横幅をこの値に合わせてリサイズします。場合によっては画像が拡大されることもあります。
 +
 +==== 最大の横幅と縦幅が指定されているとき ====
 +最大の横幅と最大の縦幅によって作られる「箱」に、ぴったり合うようにリサイズされます。これは(X)HTMLのBlock要素や、CSSのボックスレイアウトを考慮してのことです。
 +
 +
 +
 +===== 使い方 =====
 +
 +基本的に開発者用のプラグインとなります。ソース中にPHPdocでドキュメントを記述してありますので、そちらを参照して下さい。
 +
 +==== 静的メソッド集「MediaUtils」 ====
 +
 +=== プロパティ ===
 +NP_MediaUtilsで維持するクッキーの名前です
 +<​code>​MediaUtils::​$cookiename</​code>​
 +
 +NP_MediaUtilsで維持されたウェブログIDです
 +<​code>​MediaUtils::​$blogid</​code>​
 +
 +NP_MediaUtilsの機能で維持されたウェブログIDの示す短縮名です
 +<​code>​MediaUtils::​$bshortname</​code>​
 +
 +現在システムに登録されているウェブログIDとその短縮名の配列です
 +<​code>​MediaUtils::​$blogs</​code>​
 +
 +現在システムで設定されている$CONF['​MediaPrefix'​]のBoolean値が入ります
 +<​code>​MediaUtils::​$prefix</​code>​
 +
 +現在システムで設定されている$CONF['​MaxUploadSize'​]の数値が入ります
 +<​code>​MediaUtils::​$maxsize</​code>​
 +
 +現在システムで設定されている$CONF['​AllowedTypes'​]をカンマをデリミタとして区切った配列が入ります
 +<​code>​MediaUtils::​$suffixes</​code>​
 +
 +ハッシュ化アルゴリズムです。標準はmd5です
 +<​code>​MediaUtils::​$algorism</​code>​
 +
 +画像のmime型と拡張子の連想配列です。
 +<​code>​MediaUtils::​$image_mime</​code>​
 +
 +
 +
 +=== 画像リサンプリング系メソッド ===
 +
 +リサンプリングしたバイナリをファイルとして保存します
 +<​code>​MediaUtils::​storeResampledImage</​code>​
 +
 +リサンプリングしたバイナリをブラウザに向けてHTTP送信します
 +<​code>​MediaUtils::​responseResampledImage</​code>​
 +
 +404エラーをブラウザに送信します
 +<​code>​MediaUtils::​error</​code>​
 +
 +
 +
 +=== ファイル情報系メソッド ===
 +
 +ファイル情報のリストを再帰的に返します。ファイル情報はオブジェクトMediumのインスタンスとなります。
 +<​code>​MediaUtils::​getMediaList</​code>​
 +
 +
 +
 +
 +=== ディレクトリ情報系メソッド ===
 +
 +指定したディレクトリに関する情報を返します。情報は配列となっています。
 +<​code>​MediaUtils::​getPathData</​code>​
 +
 +ディレクトリに関する情報のリストを再帰的に返します。情報はMediaUtils::​getPathDataに基づいています。
 +<​code>​MediaUtils::​getPathList</​code>​
 +
 +指定したディレクトリがあるか、書き込み可能か確認します。なければ作成を試します
 +<​code>​MediaUtils::​checkDir</​code>​
 +
 +指定したディレクトリを削除します
 +<​code>​MediaUtils::​purgeDir</​code>​
 +
 +
 +=== ファイルアップロード系 ===
 +
 +ファイルをアップロードします。ファイル名の上書きなどに対応しています。
 +<​code>​MediaUtils::​uploadMedium</​code>​
 +
 +
 +==== Mediumオブジェクト ====
 +
 +=== コンストラクト ===
 +
 +引数にメディア用ディレクトリのルート、ルートからの相対パス、接頭辞のありなしを指定します。接頭辞の書式はNucleus CMSに準じます。
 +
 +<​code>​$medium = new MEDIUM($root,​ $path [$prefix])</​code>​
 +
 +=== プロパティ ===
 +
 +メディア用ルートディレクトリ
 +<​code>​$medium->​root</​code>​
 +
 +ルートディレクトリからファイルのあるディレクトリまでの相対パス
 +<​code>​$medium->​path</​code>​
 +
 +ファイル名
 +<​code>​$medium->​name</​code>​
 +
 +更新日
 +<​code>​$medium->​update</​code>​
 +
 +接頭辞から計算したアップロードの日付
 +<​code>​$medium->​prefix</​code>​
 +
 +ファイル拡張子
 +<​code>​$medium->​suffix</​code>​
 +
 +接頭辞と拡張子を取り除いたファイル名
 +<​code>​$medium->​filename</​code>​
 +
 +ファイルサイズ
 +<​code>​$medium->​size</​code>​
 +
 +ファイルのMIME型。[[http://​php.net/​manual/​ja/​book.fileinfo.php | Fileinfo]]が利用可能なシステムであればそちらから判定し、そうでなければgetimagesizeによる判定となります。
 +<​code>​$medium->​mime</​code>​
 +
 +ファイルが画像であればその横幅。
 +<​code>​$medium->​width</​code>​
 +
 +ファイルが画像であればその縦幅。
 +<​code>​$medium->​height</​code>​
 +
 +$medium->​setResampledSizeで設定したリサンプリング後の横幅。先述した「リサンプリングのルール」に従います。
 +<​code>​$medium->​resampledwidth</​code>​
 +
 +$medium->​setResampledSizeで設定したリサンプリング後の縦幅。先述した「リサンプリングのルール」に従います。
 +<​code>​$medium->​resampledheight</​code>​
 +
 +=== メソッド ===
 +
 +最大の縦幅・横幅を指定して、先述した「リサンプリングのルール」に従い、リサンプリング後の縦幅・横幅を設定します。
 +<​code>​$medium->​setResampledSize($maxwidth,​ $maxheight)</​code>​
 +
 +リサンプリングしたバイナリを取得します。$image_mimeにはMediaUtils::​$image_mimeの配列を指定します。リサンプリングは、PHPで標準的に利用できるGD (Graphics Draw) Libraryのバインディングを利用しているため、サーバ環境によって機能制限が出ることもあります。
 +<​code>​$medium->​getResampledBinary($image_mime)</​code>​
 +
 +$algorismでハッシュ化したファイル名を取得します。サムネイル画像のファイル名などに使用する、一位のStringを得ることができます。
 +<​code>​$medium->​gethashedName($algorism)</​code>​
 +
 +
 +===== 開発履歴 =====
 +  * 2011.04.04 Ver.0.9.6 (RC2)
 +    * [Mocchi] 仕様変更
 +    * [Mocchi] リリースキャンディデート2
 +  * 2010.12.26 Ver.0.9.5 (RC1) 非公開
 +    * [Mocchi] リリースキャンディデート1
 +  * 2010.12.15 Ver.0.9
 +    * [Mocchi] Ver.1.0のベータ版としてリリース
  
 
plugins/mediautils.txt · 最終更新: 2012/01/28 23:17 (外部編集)