何十万もありません(または高価なSCSIドライブの代金を払うだけでいいです:))、データベース全体を自由に保存してください。確信が持てない場合は、ファイルシステムも問題ありません。
イメージの一意のIDについては、おそらくDB挿入ID(一意保証、スレッド/クラッシュ/泣きなし)を使用するのが最善の方法です。
create table images (
image_id int(20) primary key auto_increment, /* assumes mysql */
file_path varchar(2500) not null, /* the actual file name and full path */
file_label varchar(255), /** user's memorable name for the file */
description varchar(2500), /** user provided description of contents */
media_type varchar(100), /** something like image/jpeg; privided by php in upload */
);
は、あなたはおそらく分類やタグのいくつかの並べ替え、USER_IDとimage_idはを接続したいと思う、など
:だからここにあなたがファイルシステム内の画像を保存しておきたいと仮定すると、良いアプローチですコメントの
EDIT
を追加しました:
あなたはいつもあなたが好きなら、あなたは、単にファイルシステム内の画像IDを保管していても、実際のファイル名を使用してリンクを構築することができます。そして、あなたは自分のPHPスクリプトに/画像/ DBを/リダイレクト
mysite.com/images/db/1234/picture_of_a_cat.jpg)
:あなたは、この(1234画像IDおよび/画像です/ PHPスクリプトにリダイレクト)のような何かをするsearch friendly urlsを利用する必要があります。別の方法として、書き換えようとしない場合は、$ PATH_INFOを使うだけです。
たとえば、あなたがmysite.com/images/render.php/1234/picture_of_cat.jpg持っている場合:
<?php
$parts = explode("/",$PATH_INFO);
$image_id = $parts[3];
$image_from_db = null; //fetch the row from your dabatase here!
header("Content-type: ".$image_from_db['media_type']);
echo file_get_contents($image_from_db['file_path']);
幸運を! ;)
あなたの質問はcodeigniter特有のものですか?同様の質問はすでにサイト上で長い間答えられているので、尋ねるだけです。何も具体的でなければ、すでに回答を見つけることができます。 – hakre
まあ、多分Codeigniterはこれに便利なライブラリ(私が言及した文字列ヘルパー)を持っていた可能性があります – Carlo