[[CodeIgniter]]

CodeIgniterの画像アップロード、リネーム、サムネイル作成についてメモ。

#contents

* 参考 [#u6839d6f]
-ファイルアップロードクラス : CodeIgniter ユーザガイド 日本語版 http://codeigniter.jp/user_guide_ja/libraries/file_uploading.html
-画像操作クラス : CodeIgniter ユーザガイド 日本語版 http://codeigniter.jp/user_guide_ja/libraries/image_lib.html

* 処理の流れ [#idb71cb6]
+ 画像のテンポラリーファイル(作業用の一時的なファイル)をアップロードするための「テンポラリー・ディレクトリー」を予め用意しておく。
=「file/tmp」等
+ 以前のテンポラリーファイルが残っていないように、念のため「file/tmp」内を空にする。
+ 画像のテンポラリーファイル(作業用の一時的なファイル)を「file/tmp」にアップロードする。
+ テンポラリーファイルを基にして、保存したい名前にファイル名をリネーム(名前の変更)をして、画像ファイルを保存する。
+ サムネイル画像を作成して保存する。
+ 画像ファイルの情報をデータベースに保存する。
+ 最後に、不要になったテンポラリーファイルを削除する。

** テンポラリーファイル [#xa6757b4]
- テンポラリーディレクトリーの用意

CodeIgniterのbase_urlから見て、
「./file/tmp/」
というディレクトリーを用意する。

=一時的な画像をアップロードして、それを基にリネームやリサイズしてコピーする。

- ディレクトリーを空にする
CodeIgniterのファイルヘルパーで、サクッと空にできる!

ファイルヘルパー : CodeIgniter ユーザガイド 日本語版
http://codeigniter.jp/user_guide_ja/helpers/file_helper.html

>ファイルヘルパー
ファイルヘルパーのファイルは、ファイルを処理するのに役立つ関数で構成されます。
ヘルパーのロード
このヘルパーは次のコードを使ってロードします:
$this->load->helper('file');

>delete_files('path')
パスに含まれるすべてのファイルを削除します。例:
delete_files('./path/to/directory/');

以下のようにして、テンポラリーディレクトリーを空にする。
 delete_files('./file/tmp/');

※PHPの関数で空にする場合、「unlink」関数で、ファイルを一つずつ消していく。
PHP: unlink - Manual
http://jp2.php.net/manual/ja/function.unlink.php



* コードサンプル [#w01ad1b3]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS