Chonm-age(PHP画像アップローダーライブラリ)関数マニュアル

バージョン1.4用

クラス chonmage (main.phpに収録)

例: $chonmage = new chonmage();

chonmage::add_image($up_file,$author_id,$title,$description,$tags,$save_original)

アップロードされた新しい画像をimage_size.iniの設定に従ってリサイズし、config.iniの設定に従ってデータベースまたはファイルとして保存します。

$up_file : アップロードされたファイルのパス (例: $_FILES["up_file"]["tmp_name"])
$author_id : 投稿者のIDまたはハンドルネームなど
$title : 画像のタイトルなど
$description : 画像の説明など
$tags : 画像のタグ(スペースで区切って10個まで)
$save_original(省略可) : アップロードされたオリジナルファイルを保存するか(TRUEでは、リサイズ前のファイルとリサイズ後のファイルの両方が保存されます。FALSEでは、リサイズ後のファイルのみが保存されます。)
省略時はconfig.iniのsave_originalの値が使用されます。

返り値 : 成功した場合は、アップロードされた画像に自動的に割り当てられた画像IDの文字列を返します。失敗した場合はFALSEを返します。

注意

php.iniの設定でアップロードファイルのサイズの最大値や、メモリ使用量の上限が小さく設定されていると、大きなファイルをアップロードする際にエラーが発生します。

chonmage::delete_image($image_id)

指定された画像を削除します。

$image_id : 削除する画像のID

返り値 : 成功した場合はTRUE、失敗した場合はFALSEを返します。

chonmage::get_blob($image_id,$size_name)

指定された画像の指定したサイズに対応するバイナリを返します。

$image_id : 画像のID
$size_name : 画像のサイズ(image_size.iniのsize_nameとして設定されている値である必要があります。"original"を指定した場合はオリジナルファイルの内容を返します。)

返り値 : 成功した場合は画像のバイナリを、失敗した場合はFALSEを返します。

chonmage::get_days($year,$month)

指定された月の間の、画像がアップロードされた日の一覧を返します。

$year : 年を表す4桁の数値
$month : 月を表す2桁の数値

返り値 : 成功した場合は、日の一覧を配列で返します。失敗した場合はFALSEを返します。

chonmage::get_image_list_of_day($year,$month,$day)

指定された日にアップロードされた画像の一覧を返します。

$year : 年を表す4桁の数値
$month : 月を表す2桁の数値
$day : 日を表す2桁の数値

返り値 : 成功した場合は、画像IDの文字列を配列で返します。失敗した場合はFALSEを返します。

chonmage::get_image_info($image_id)

指定された画像の情報(original_format、image_title、author_id、description、created、last_updatedなど)を取得します。
$image_id : 情報を取得する画像のID

返り値 : 成功した場合は、画像の情報を連想配列で返します。失敗した場合はFALSEを返します。
 original_format アップロード時のオリジナルファイルの形式(jpeg、pngなど)
 image_title 画像のタイトル
 author_id 投稿者のID
 description 画像の説明文
 created 画像が最初にアップロードされた日時
 last_updated 画像の最終更新日時
 views (このバージョンでは利用できません)
 score (このバージョンでは利用できません)

chonmage::get_months($year)

指定された年の間の、画像がアップロードされた月の一覧を返します。

$year : 年を表す4桁の数値

返り値 : 成功した場合は、月の一覧を配列で返します。失敗した場合はFALSEを返します。

chonmage::get_image_size_info($size_name)

image_size.iniの画像サイズの定義の情報(width,height,file_format,background,expand,scaling_method,compression_quality)を取得します。

$size_name(省略可) : 情報を取得する対象のサイズ名。省略した場合は、すべての画像サイズの情報を取得します。

返り値 : 成功した場合は画像サイズの定義の情報を連想配列で返します。$size_nameに指定した画像サイズが存在しない場合はFALSEを返します。
 width 幅を表す数値
 height 高さを表す数値
 file_format 保存形式を表す文字列(png、jpeg、gif)
 background 透過PNG・GIFからJPEGに変換する際の背景色を表す文字列(#ffffffなど)
 expand アップロードされた画像が$widthと$heightで指定したサイズよりも小さい場合に、拡大するかどうか。TRUEなら拡大する、FALSEならそのまま。
 scaling_method リサイズの方法。
  CHONMAGE_KEEP_RATIO 縦横比を維持し、指定したサイズ内に収まるようにリサイズします
  CHONMAGE_TRANSFORM 指定したサイズに合わせて縦横比を変更します
  CHONMAGE_TRIMMING 縦横比を維持したまま拡大・縮小し、指定したサイズの縦横比からはみ出す部分をトリミングします
 compression_quality JPEGでの保存時の圧縮品質(1から99までの数値)

chonmage::get_recent_images()

直近に追加された画像ののリストを50件目まで返します。

返り値 : 画像IDを配列で返します。

chonmage::get_years()

これまでに画像がアップロードされた年の一覧を返します。

返り値 : 成功した場合は、年の一覧を配列で返します。失敗した場合はFALSEを返します。

chonmage::original_exists($image_id)

指定されたIDをもつ画像のオリジナルファイルが存在するかを調べます。

$image_id : 画像のID

返り値 : オリジナルファイルが存在する場合は、その拡張子を文字列として返します。オリジナルファイルがない場合や、画像IDそのものが正しくない場合はFALSEを返します。

chonmage::output_image($image_id,$size_name)

指定された画像の指定したサイズに対応するバイナリとHTTPヘッダーを出力します。

$image_id : 出力する画像のID
$size_name : 出力する画像のサイズ(image_size.iniのsize_nameとして設定されている値である必要があります。"original"を指定した場合はオリジナルファイルを出力します。)

返り値 : 成功した場合はTRUE、失敗した場合はFALSEを返します。

注意

この関数はHTTPヘッダーを出力するため、この関数を使用する前に何らかの出力が行われていた場合にはエラーとなります。

chonmage::replace_image($image_id,$up_file,$save_original)

アップロードされた新しい画像で既存の画像を置き換えます。

$image_id : 置き換える画像のID
$up_file : アップロードされたファイルのパス (例: $_FILES["up_file"]["tmp_name"])
$save_original(省略可) : アップロードされたオリジナルファイルを保存するか(TRUEでは、リサイズ前のファイルとリサイズ後のファイルの両方が保存されます。FALSEでは、リサイズ後のファイルのみが保存されます。)
省略時はconfig.iniのsave_originalの値が使用されます。

返り値 : 成功した場合はTRUE、失敗した場合はFALSEを返します。

chonmage::search_image($q,$start,$rows,$key,$asc)

タグと投稿者IDを利用して画像を検索します。
(config.iniでuse_dbの値に0(CHONMAGE_NOT_USE_DB)が指定されている場合は使用できません。)

$q : 検索情報を含む連想配列(いずれか一つの値のみでの検索も可能)
  "author_id" : 投稿者ID
  "tags" : タグ(スペースで区切って10個まで指定可能)
$start : 検索結果をいくつめから取得するか
$rows : 検索結果をいくつ取得するか
$key(省略可) : 結果の並び替えに使用する値(省略時はcreated)
$asc(省略可) : 結果並び順を昇順にする場合はTRUE(省略時はFALSE)

返り値 : 成功した場合は、結果を連想配列で返します。このうち、"count"は検索条件に一致するすべての画像($startと$rowsに関係なく)の件数が格納されます。なお、検索条件に一致する画像がなかった場合にはNULL、エラーの場合はFALSEを返します。

例:
    $q["tags"] = "花 ピンク"
    $kekka = $chonmage->search_image($q,0,20);
    print "見つかった画像数 ".$kekka["count"]."件\n";
    print "一つ目の画像のタイトル ".$kekka["image_title"][0]."\n";
    print "二つ目の画像のタイトル ".$kekka["image_title"][1]."\n";

chonmage::update_image_info($image_id,$author_id,$title,$description,$tags)

画像の情報を変更します。

$image_id : 情報を変更する画像のID
$author_id(省略可) : 投稿者のIDまたはハンドルネームなど(省略時は変更しません)
$title(省略可) : 画像のタイトルなど(省略時は変更しません)
$description(省略可) : 画像の説明など(省略時は変更しません)
$tags(省略可) : 画像のタグ(スペースで区切って10個まで、省略時は変更しません)

返り値 : 成功した場合はTRUE、失敗した場合はFALSEを返します。

クラス chonmage_config (config.phpに収録)

例: $config = new chonmage_config();

chonmage_config::add_image_size($size_name,$width,$height,$file_format,$background,$expand,$scaling_method,$compression_quality)

chonmage::add_imageやchonmage::replace_imageでのリサイズ時に参照するimage_size.iniの画像サイズの定義を追加します。

$size_name : サイズ名(63文字までの半角英数字、重複不可)
$width : リサイズ後の幅
$height : リサイズ後の高さ
$file_format(省略可) : 保存形式を文字列(小文字)で指定(jpeg、png、gifのいずれか、省略時はgif)
$background(省略可) : 透過PNG・GIFからJPEGに変換する際の背景色を「#」に続けて16進数文字列で指定(省略時は#ffffff)
$expand(省略可) : アップロードされた画像が$widthと$heightで指定したサイズよりも小さい場合に、拡大するかどうか。TRUEなら拡大する、FALSEならそのまま。(省略時はFALSE)
$scaling_method(省略可) : リサイズの方法を表す定数。
 CHONMAGE_KEEP_RATIO 縦横比を維持し、指定したサイズ内に収まるようにリサイズします
 CHONMAGE_TRANSFORM 指定したサイズに合わせて縦横比を変更します
 CHONMAGE_TRIMMING 縦横比を維持したまま拡大・縮小し、指定したサイズの縦横比からはみ出す部分をトリミングします
$compression_quality(省略可) : JPEGでの保存時の圧縮品質(1から99までの数値)。(省略時は75)

返り値 : 成功した場合はTRUE、失敗した場合はFALSEを返します。

注意

この関数の結果はそのままでは保存されません。結果を保存するにはchonmage_config::save()を実行する必要があります。
また、画像サイズの定義を追加しても、既にアップロードが完了した画像の新しい画像サイズが生成されるわけではありません。

chonmage_config::configure_mysql($mysql_server,$mysql_user,$mysql_pass,$db_name)

config.iniのMySQLの接続設定を変更します。
(config.iniでuse_dbの値に0(CHONMAGE_NOT_USE_DB)が指定されている場合は使用する必要はありません。)

$mysql_server : 接続するMySQLサーバー名(例:abcd.example.jp)
$mysql_user : MySQLユーザー名
$mysql_pass : そのユーザーに割り当てられたMySQL接続パスワード
$db_name : データベース名

返り値 : なし。

注意

この関数の結果はそのままでは保存されません。結果を保存するにはchonmage_config::save()を実行する必要があります。

chonmage_config::delete_image_size($size_name)

image_size.iniの画像サイズの定義を削除します。

$size_name : 削除対象のサイズ名

返り値 : 成功した場合はTRUE、失敗した場合はFALSEを返します。

注意

この関数の結果はそのままでは保存されません。結果を保存するにはchonmage_config::save()を実行する必要があります。

chonmage_config::set_image_dir($image_dir)

config.iniに保存されている、画像ファイルを保存するディレクトリを設定します。
(config.iniでuse_dbの値に2(CHONMAGE_USE_DB_ALL)が指定されている場合は使用する必要はありません。)

$image_dir : 画像ファイルを保存するディレクトリ名(main.phpからの相対パス)

返り値 : 成功した場合はTRUE、存在しないディレクトリを指定した場合はエラーとなり、FALSEを返します。

注意

この関数の結果はそのままでは保存されません。結果を保存するにはchonmage_config::save()を実行する必要があります。

chonmage_config::set_save_original($save_original)

chonmage::add_imageやchonmage::replace_imageでの$save_original省略時に参照されるconfig.iniのデフォルトのsave_originalの値を設定します。

$save_original : アップロードされたオリジナルファイルを保存するか(TRUEでは、リサイズ前のファイルとリサイズ後のファイルの両方が保存されます。FALSEでは、リサイズ後のファイルのみが保存されます。)

返り値 : なし。

注意

この関数の結果はそのままでは保存されません。結果を保存するにはchonmage_config::save()を実行する必要があります。

chonmage_config::set_sqlite_db_file($path)

config.iniに保存されている、SQLiteのデータベースファイルの場所の設定を行います。
(config.iniでuse_dbの値に2(CHONMAGE_USE_DB_ALL)が指定されている場合、及び、データベースとしてMySQLを使用する設定の場合は使用する必要はありません。)

$path : main.phpからの相対パスでデータベースファイルの場所を記述します。(例 ../data/example.db)

返り値 : なし。

注意

この関数の結果はそのままでは保存されません。結果を保存するにはchonmage_config::save()を実行する必要があります。

chonmage_config::set_use_db($use_db)

config.iniに保存されている、アップロードされた画像ファイルをデータベースに保存するかファイルとして保存するかの設定を行います。

$use_db : アップロードされた画像ファイルをデータベースに保存するかファイルとして保存するかを表す定数
 CHONMAGE_NOT_USE_DB データベースは一切使用せず、アップロードされた画像とその情報は全てファイルとして保存されます。
 CHONMAGE_USE_DB_PART アップロードされた画像とその情報をファイルとして保存しますが、タグ検索のために一部の情報をデータベースに保存します。
 CHONMAGE_USE_DB_ALL アップロードされた画像とその情報は全てデータベースに保存されます。

返り値 : なし。

注意

この関数の結果はそのままでは保存されません。結果を保存するにはchonmage_config::save()を実行する必要があります。
また、システムが運用開始され、既にアップロードされた画像がある状態でこの関数を実行すると画像のアップロードや参照が正常に行えなくなります。
ただし、CHONMAGE_USE_DB_PARTからCHONMAGE_NOT_USE_DBへの変更は可能です。(その逆は不可能です)

chonmage_config::set_use_sqlite($use_sqlite)

config.iniに保存されている、データベースとしてSQLiteを使用するかMySQLを使用するかの設定を行います。
(config.iniでuse_dbの値に2(CHONMAGE_USE_DB_ALL)が指定されている場合は使用する必要はありません。)

$use_sqlite : TRUEを指定した場合はSQLiteを使用し、FALSEを指定した場合にはMySQLを使用する設定になります。

返り値 : なし。

注意

この関数の結果はそのままでは保存されません。結果を保存するにはchonmage_config::save()を実行する必要があります。

chonmage_config::setup_db()

config.iniの設定に従い、データベース(SQLiteを使用する設定の場合はデータベースファイル)を作成し、データベーステーブルを作成します。既にデータベースとテーブルが存在している場合には何もしません。
(config.iniでuse_dbの値に0(CHONMAGE_NOT_USE_DB)が指定されている場合は使用する必要はありません。)

返り値 : 成功した場合はTRUE、失敗した場合はエラーメッセージを表示してFALSEを返します。

注意

MySQLを使用する設定の場合は、サーバーの設定により、PHPスクリプトからのデータベースの作成が許可されていない場合には、あらかじめ別の方法でデータベースを作成してからご利用ください。

chonmage_config::save()

chonmage_configクラスの関数で変更された設定をconfig.iniとimage_size.iniに保存します。

返り値 : なし。

どのクラスにも属さない関数

chonmage_info()

このchonm-ageのバージョンとライセンスなどの情報を表示します。

返り値 : なし。