トップページphp
1001コメント296KB

【PHP】フレームワーク CakePHP 4ホール目【v1.2】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2008/06/20(金) 01:24:40ID:???
http://www.cakephp.org/

10分で作るCakePHPアプリ for Windows
http://p4life.jp/cake/

マニュアル日本語化
http://www.cakephp.jp/doc/

Cookbook :: 1.2 Collection :: マニュアル
http://book.cakephp.org/ja

日本語フォーラム
http://cakephp.jp/modules/newbb/

あとこのへんとか(初心者向けTIPS)
http://www.avatarfinancial.com/pages/cake/

CakePHP入門リンク集
ttp://pub.studio15.jp/2007/11/13/cakephp-links/

【PHP】フレームワーク CakePHP 3ホール目【本命】
http://pc11.2ch.net/test/read.cgi/php/1205475360/
【PHP】フレームワーク CakePHP 2ホール目
http://pc11.2ch.net/test/read.cgi/php/1194976228/
【PHP】フレームワーク CakePHP
http://pc11.2ch.net/test/read.cgi/php/1163850802/
0490nobodyさん2008/10/30(木) 21:17:18ID:???
>>489
特定のページのみ、右カラムのメニューになぜかまたヘッダー部分が出力されているから。
アプリのバグ。
0491nobodyさん2008/10/30(木) 22:14:20ID:???
>>490
なるほど。バグすか。
読めなくて困るんですよね…
0492nobodyさん2008/10/31(金) 18:02:22ID:???
スレチなんだけどさー

小さな会社の優秀な技術者の採り方 第0回を開催しました
ttp://techlife.cookpad.com/2008/10/27/yu-shu-0/

この記事読んでどう思う? 特に下のあたりについて。

>入社しようと思った理由

>    * やりたいことができる
>          o 好き勝手やってよい文化がある
>          o 経験が生きる
>          o キャリアパス上重要なことが学べる
>    * 環境がいい
>          o 優秀な同僚
>          o 海外の事業所がある
>          o 女の子かわいい
>    * 会社の将来性が感じられる
>          o 世界で唯一のチャレンジを行っている
>          o 目的がはっきりしている
>    * 感じが良い
>          o 採用プロセス上 で会ったのがとても良い人
>          o 社長が面白い
>    * 縁があった
>          o 友達とか先輩とかが居た
>          o バイトしてた
0493nobodyさん2008/10/31(金) 20:21:19ID:???
>>492
スレ違い
0494nobodyさん2008/10/31(金) 20:32:17ID:???
まーまーそー言わずにさー感想聞かせてくれよ−
頼むから次は、スレ違い、とか言わないでくれよー
0495nobodyさん2008/10/31(金) 22:54:26ID:???
小学生からやり直せ
0496nobodyさん2008/11/01(土) 00:18:12ID:???
わかっててスレチ投稿したんじゃないのかよ
0497nobodyさん2008/11/01(土) 02:50:08ID:???
例えば商品レコードが

 id、カテゴリid、値引率、……

みたいになってるとして、
カテゴリid(≒PK以外)を指定して
「該当するカテゴリの値引率を一括で10%に」
みたいな更新って、
(CAKEの機能として)可能ですか?

(Model->save()は
 id指定して一件ずつ更新するしかないんだよね?)
0498nobodyさん2008/11/01(土) 08:59:38ID:???
updateAll
0499nobodyさん2008/11/01(土) 23:47:11ID:???
例えば...「顧客A,顧客B,顧客C,...と今後も顧客は増えるとして、
それぞれの顧客の取引情報をデータベースに入れるとする。
だけど、それぞれの顧客の情報を串刺しで集計する事は無い。」
という(まあ普通じゃない)状況があるとする。
CakePHPで使うデータベースとしてSQLiteを使って、
SQLiteとかならデータベース1つ=1ファイルなので、
それぞれの顧客ごとにデータベースを分けて保存する事って、
できますか?つまり、動的に接続するデータベースを増やせるか?
って事なんですが。

本来なら、MySQLでもなんでも、一つのデータベースに入れて、
SQLのWHEREで抽出すれば済むじゃん、って言われそうだけど。
組み立てる条件が増えるとミスが増えそうなんで。

データベースを使わず、1顧客につき1つのテキストファイルに
入れるって案も有るんだけど。テキストファイルよりは、
一応SQLiteでもデータベースに入れた方が楽かな、と思ったので。
0500nobodyさん2008/11/02(日) 00:12:07ID:???
CakePHPを使わない場合のやり方は分かるの?
0501nobodyさん2008/11/02(日) 00:53:13ID:???
PHP5限定&SQLite決め打ちなら、
function db($kokyaku){
sqlite_open($kokyaku);
...
}
ってするだけと思ってるんだけど。
0502nobodyさん2008/11/02(日) 06:29:06ID:???
>>499
それはすでにデータベースとは呼べない気がする。
0503nobodyさん2008/11/02(日) 10:58:34ID:???
普通じゃないのは認める。
でも、顧客一人一人のデータに関しては、
データベースって言えると思う。

例えば、顧客AのデータをノートPCに
移して持ち出したりする時に、
データベース全体を持ち出すのは危険だし、
その度にいちいちDUMPするのも無駄が多い
(と思う)

そこで、(例えば)SQLiteなら、その顧客の
データベースのファイルだけを持ち出すのが
簡単かな、と。思ったわけですが。
0504nobodyさん2008/11/02(日) 11:04:28ID:???
>>499
>組み立てる条件が増えるとミスが増えそうなんで。

ここら辺から考え方がおかしくなっている気がするぞw
串刺しの集計はしなくても、IDをキーに単純抽出する為の場所という認識で
一つの顧客テーブルを使えばいいんじゃないのか?
0505nobodyさん2008/11/02(日) 12:25:01ID:???
> 本来なら、MySQLでもなんでも、一つのデータベースに入れて、
> SQLのWHEREで抽出すれば済むじゃん、って言われそうだけど。
> 組み立てる条件が増えるとミスが増えそうなんで。
この理由でデータベース分けるくらいなら、RDB使わないほうがいいんじゃ‥

データベース単位じゃないけど、テーブル自動生成するやつならつくったことある
05064972008/11/02(日) 12:31:59ID:???
>498
ありがと

1.2で追加されたのね……
手元の資料になかったお ><
0507nobodyさん2008/11/02(日) 14:52:56ID:???
>>505
うむ。RDBじゃなくていいんだ。
でも、CakePHPは使いたいんだ。
で、データの管理で楽したいんだ。
0508nobodyさん2008/11/02(日) 15:11:53ID:???
検索とかしないんだったら
必要なデータをクラスにまとめて
保存・更新の際にシリアラズしてDBにぶちこめばいんじゃね
0509nobodyさん2008/11/02(日) 17:41:13ID:???
個々の顧客データの中では検索したいんだな。

「顧客」って書くから漠然としていて分かりづらいんだな・・・
「辞典」って読み替えてみて。「顧客A」は「国語辞典」、「顧客B」は「カタカナ語辞典」
と、目的毎に辞典の種類は増えて行く。(辞書の場合、串刺し検索できると便利だけど)
全部のデータを一まとめにしたくない。辞書の種類毎にデータベースを分類したいんです。
で、その分類は、例えば「萌え用語辞書」が追加されるとか、どんどん増やして行きたい。
その度に、別のデータベースに分けたい。一つのデータベース、例えば「国語辞典」の中では、
もちろん検索できないと困る。ただし、用語の説明の中身は、用語によって様々だから、
シリアライズして放り込むつもり。
そうすると、SQLiteでデータベースを分けて作ると、1つのファイルがそのまま1冊の
辞書そのものになる。←今回は、ここが重要
これなら「カタカナ語辞書」のファイルを友達に渡しても、「萌え用語辞書」が雑じってる
ことは無いので安心。(例えば、ね)

そういう、いわば辞書編集システムを、CakePHPのデータベースを扱う部分の工夫で
なんとか簡単に作れないかなー、というところなんです。
CakePHPでも複数のデータベースは使えるけど、あらかじめ'database.php'に
書き込んだ物に限られる。これが、動的に増やしたり変更する方法があれば有り難い。
0510nobodyさん2008/11/02(日) 17:49:09ID:???
動的に増やしたり変更したりすればいいじゃない
0511nobodyさん2008/11/02(日) 21:34:39ID:???
>>510
できるの?
0512nobodyさん2008/11/02(日) 21:47:23ID:???
逆にできない理由を知りたい
0513名無し募集中。。。2008/11/03(月) 23:33:04ID:8PMDTqib
1.1から1.2にしてがんばってるんだけど、
左上に実行中のメソッド名が表示されちゃう(HTMLの最初にメソッド名が出力されている)
んだけどなぜなんだろうか。
0514nobodyさん2008/11/03(月) 23:35:05ID:???
しまったお里が知れてしまった。
出ているのはメソッド名じゃなくてview名らしい。
0515nobodyさん2008/11/03(月) 23:40:04ID:???
めっちゃ自己解決した
拾ってきたbeforeRender()のサンプルの中に
echo $this->action;があったよ死のう。
0516nobodyさん2008/11/04(火) 00:02:52ID:???
この間わずか7分の出来事であった・・・
0517nobodyさん2008/11/04(火) 05:42:03ID:???
>>515
死んだら・・・だぁめ♪
0518nobodyさん2008/11/04(火) 12:59:24ID:???
死んだら・・・らめぇ
0519nobodyさん2008/11/06(木) 21:23:56ID:???
すみませんが、質問です。

bakeについてですが、これはCakeの配置のされ方が、下のページの
http://book.cakephp.org/view/32/Installation
Developmentであることを前提にファイルを生成するもので、Production や
Advanced の配置では使うことができない(現実的でない)という理解でよろし
いでしょうか?
0520nobodyさん2008/11/06(木) 21:30:59ID:???
追伸。

もし、上の理解が間違っていて、Advancedの配置でもBakeが使えるのだとした
ら、Advancedの一例として、Cake のシステムは共通だが、作成するWEBアプリ
ケーションが同一サーバに複数あって、Cakeの同一のシステムを共有している
場合、特定のWebアプリをどうやってコード生成のターゲットとするか、その指
定方法を教えていただけたら、と思います。
0521nobodyさん2008/11/06(木) 21:38:37ID:???
bakeで作ればコア(cakeフォルダ)へのパスは自動設定されているはずだからどこにおいても問題ない
0522nobodyさん2008/11/06(木) 21:39:33ID:???
普通に日本語の方を見ればいいのでは
http://manual.cakephp.org/ja/view/32/%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB

駄目だとしても他の場所に作って移動すればいいのではないかと思うんだけど
それじゃ駄目なのかな?

まあ俺が>>513と同一人物と言うことは内緒だが
0523nobodyさん2008/11/06(木) 22:00:26ID:???
>>521
すみません、ちょっとおっしゃる内容が分かりません。

少し詳しく質問し直させてください。
例えば、こういう配置だとします。

cake
/usr/lib/cake(個々のユーザは読み取り権限しか持たない)

app
/home/user01/app
/home/user02/app
...

webroot
/home/user01/htdocs
/home/user02/htdocs
...

webrootには各人ごとにindex.phpを置いて、cakeとappの位置を指定します。

この場合、/usr/lib/cake/console に個々のユーザが移動して、./cake bake
を実行した場合、例えばModelのファイルはどこに生成されるのでしょうか?
おそらく /usr/lib/cake/app/models だと思うのですが、ここには一般ユーザ
の書き込み権限がないので、動作しません。

個々のユーザごとに、/home/user0X/app/modelsに出力するよう bakeは指定で
きるのでしょうか?
0524nobodyさん2008/11/06(木) 22:01:50ID:???
>>522
日本語のほうはURLが長いのでわずらわしいかと思いまして。

ひとつ前のレスに書きましたが、書き込み権限がない場合を想定しています。
0525nobodyさん2008/11/06(木) 22:20:55ID:???
すみませんが、こちらの事情で、明日までここにアクセスできなくなりました。
質問させていただいたのに、非礼をお詫びいたします。
0526nobodyさん2008/11/07(金) 01:23:09ID:???
>>523
Bakeでapp一式を生成する話かと思ってたが、modelとかを作る場合の話ね。
cake bake -app <appフルパス>で指定できる

または、
/home/user01/appをカレントディレクトリとして、cake bakeを実行すればよい。
但し、/usr/lib/cake/consoleにはパスを通しておくこと。(ちと気持ち悪いが)
0527nobodyさん2008/11/07(金) 10:47:32ID:???
>>526
ありがとうございます!なるほど、コマンドラインオプションで指定するのか。

それにしてもbakeのドキュメントって見つからないと思ったら、
./cake bake help
こうすれば説明が読めることにやっと気づきました。
この説明以外にドキュメントがないというのが何ともですが。
後はソース読むしかないか。Railsもそうだったけど。
0528nobodyさん2008/11/07(金) 13:57:45ID:???
いろいろ調べても出来なかったのでご教授願いたいのですが。
MySQLに画像は保存できるのですが、その画像をselectしてViewで表示するにはどうやればいいですか?
外部のPHPに記述して読み出すようにはあるのですが、cakePHPのViewから同様のことができません。
0529nobodyさん2008/11/07(金) 14:03:58ID:???
>>528
何をやって、どう駄目だったのか書いたほうがいい。
外部のPHPなら、Cakeのviewで普通に画像として呼び出せばいいんじゃないの?
0530nobodyさん2008/11/07(金) 14:13:15ID:???
>>529
$this->data['Event']['imagedata']にイメージのバイナリがセットされています。

echo $html->image($form->value('Event.imagedata'));
で表示させるとバイナリのまま表示されます。

それでimage.phpを作成して、header("Content-type:image/gif");を指定して
外部のPHPファイルで画像のバイナリを表示させようとしたのですが、
ビュー以下において単純な<img src="image.php">では呼び出せずにいます。
webroot以下やコントローラー以下にも配置したのですが同じでした。
ファイルの置き場所が悪いのでしょうか?
それとも簡単に出来る方法があればよろしくお願いします。
0531nobodyさん2008/11/07(金) 14:51:26ID:???
>>530
イメージのバイナリを画像表示用のviewに渡して、viewでheader吐けばいけそうだけど。
MVCの設計としてどうかは知らん

最終的には画像表示用のコントローラ作ればいいんじゃないかな
0532nobodyさん2008/11/07(金) 14:55:58ID:???
>>531
ビューでheaderをはきたいのですが他にもHTMLがありますので、画像の部分だけ「Content-type:image/gif」とかを指定したいのです・・・
0533nobodyさん2008/11/07(金) 15:34:56ID:???
>>532
メディアビューを使えばできますよ。
マニュアルのビューの所。
0534nobodyさん2008/11/07(金) 15:44:18ID:???
>>533
メディアビューは初めて聞きます。
サンプルはバイナリファイルをダウンロードさせるようになっていますね。
画像の場合はどのようにすればいいのかまだ分かりません。

例えばMySQLから取得した画像のバイナリーデータを
SNSのプロフィール画像のように表示させたいのです。。。
0535nobodyさん2008/11/07(金) 16:06:14ID:???
なんかPHPをきちんとやらずに急にCake触ってる匂いが・・

>>532
そもそもHTMLと画像は別ファイルだよ。
外部のPHPファイルで画像表示に成功しているなら、viewに直接imgタグ書けばいいだけかと。
0536nobodyさん2008/11/07(金) 16:12:29ID:???
ああ実物がないとメディアビューじゃダメか。失礼。
0537nobodyさん2008/11/07(金) 16:12:54ID:???
beforeRenderでファイル吐いてexitしちゃえよw
0538nobodyさん2008/11/07(金) 16:37:20ID:???
1.HTMLを表示

2.MySQLから取得した画像のバイナリをイメージで表示

3.HTMLを表示

上みたいな感じなので、2のパートだけをContent-type:image/jpegにしたいのですが
エレメントとかで分けてもheader("Content-type:image/jpeg");を記載したら
URLだけしか表示されないのです。
そのままだとバイナリデータが表示されます。。。

おとなしく画像をアップしてパス指定で管理するしかないのですかね。。。
0539nobodyさん2008/11/07(金) 16:47:27ID:???
cakePHPを使用しないのであればビューからPHPを呼べばできそうなのですが・・・
http://q.hatena.ne.jp/1141838059
0540nobodyさん2008/11/07(金) 17:31:48ID:???
>>538
>>535に書いたとおり、一つのファイルでHTMLと画像を兼ねるのは無理だよ?
0541nobodyさん2008/11/07(金) 17:40:49ID:???
画像をHTMLにアスキーデータで組み込むのは無理じゃないよ
0542nobodyさん2008/11/07(金) 17:53:54ID:???
>>541
今回はそういう事を意図してない雰囲気はする
0543nobodyさん2008/11/07(金) 18:13:58ID:???
>>542
ご回答ありがとうございます。なかなか難しいのですね。

cakePHPでSNSのプロフィール画像を表示させたいイメージなのです。
ファイルをアップしてリンクのテキストで対応するのは出来るのですが、
バイナリーで保存してやりたいということです。
0544nobodyさん2008/11/07(金) 18:32:58ID:???
>>543
あなたには無理ですのであきらめてください。
0545nobodyさん2008/11/07(金) 19:05:29ID:???
>>544
つまんねぇレスすんなハゲ

これは使えないかな?

サムネイルコンポーネント
http://www.hideblog.net/nikkis/show/16

もっとスマートにできるなら俺も知りたい。
0546nobodyさん2008/11/07(金) 20:24:31ID:???
ビューでバイナリを吐けるんだったら、レイアウトを空にして、ヘッダー付ければ出来ない?
文字データなら出来たけど。
0547nobodyさん2008/11/07(金) 21:14:59ID:???
Railsなら簡単に出来たけど、Cakeだと難しいのかな。
0548nobodyさん2008/11/07(金) 22:25:45ID:???
別件でお取り込み中のところすみませんが、質問です。

コントローラのファイルを、種類によっていくつかのサブディレクトリに分け
て配置することは出来るのでしょうか?


app/controllers/hoge/hoge0_controller.php
app/controllers/hoge/hoge1_controller.php

app/controllers/fuga/fuga0_controller.php
app/controllers/fuga/fuga1_controller.php

このように複数のサブディレクトリを作り、その中にコントローラを分けて納
めるようなイメージです。

また出来るとしたら、それらのコントローラにはどのようなURLでアクセスでき
るのでしょうか?
0549nobodyさん2008/11/07(金) 22:48:44ID:???
>>548
http://book.cakephp.org/ja/view/48/CakePHP%E3%81%AE%E3%83%96%E3%83%BC%E3%83%88%E3%82%B9%E3%83%88%E3%83%A9%E3%83%83%E3%83%97
0550nobodyさん2008/11/07(金) 23:08:49ID:???
>>549
なるほど、ありがとうございます。bootstrap.phpの$controllerPathsですか。

CakePHPでコントローラーを複数のディレクトリに整理する方法 - yandodの日記
http://d.hatena.ne.jp/yandod/20080510/1210416583
> 分散したディレクトリ内でファイル名やクラス名が衝突すると面倒な事になる
> と思われますので接頭語を付けるなどして管理するのが良いかもしれません。

うーん。コントローラの名前空間は共通なのか。
URLのパス指定で、各ディレクトリを呼び分けるとか出来ないでしょうか?
0551nobodyさん2008/11/07(金) 23:29:48ID:???
Base64エンコードしたデータ格納しといてMHTMLで表示しとけよwww
0552nobodyさん2008/11/07(金) 23:32:23ID:???
mysqlの中に画像を入れるのは馬鹿だろ
そもそもmysqlは画像データを格納するために作っていないから
画像はフォルダに入れて管理した方がいいと
mysql作者が語ってるのに。
そんな自分もかけだしのときはmysqlに画像データ入れてました
管理は楽だけどね。かなりの負荷がかかる。
Bakeとか使う人も素人くさいと思う。
0553nobodyさん2008/11/07(金) 23:49:13ID:???
>>552
同意。mysqlじゃなく適当なフォルダに画像を突っ込んだ方がいいよ。
0554nobodyさん2008/11/08(土) 00:12:16ID:???
>>550
http://book.cakephp.org/ja/view/46/Routes%E3%81%AE%E8%A8%AD%E5%AE%9A
Routes追加すればURL上は階層化されてるように見せることは出来るが、名前の衝突は回避できない。

コントローラ名にパス名も入れればユニークになって衝突回避出来なくもないが、色々面倒なことになる。
0555nobodyさん2008/11/08(土) 00:14:48ID:???
Bake便利だと思うけどな。
使うのはスキーマ検証時くらいだけど。
0556nobodyさん2008/11/08(土) 00:17:44ID:???
そもそもBakeの使い方がわからないという。
0557nobodyさん2008/11/08(土) 00:19:20ID:???
>>552,553
case by caseだとおもうけど

DBでファイルのパス管理してたらそのファイルが消されてたりとか。
かといって参照頻度が高いときはDBに置きたくないしな

さすがにデザインとかで使うような画像は普通に置いとくけどさ
0558nobodyさん2008/11/08(土) 01:37:22ID:???
>>557
DBに入れておいて、参照されたらキャッシュを作り、そのキャッシュを送信するって方法もあるらしい。
2回目以降は早いし、ファイルが消えても問題ない。
0559nobodyさん2008/11/08(土) 02:27:53ID:???
たしかにDBにも入れといたほうがバックアップは楽そうだね
0560nobodyさん2008/11/08(土) 02:50:18ID:???
>>558
それ考えた奴天才じゃね?
0561nobodyさん2008/11/08(土) 03:22:53ID:???
Cakephpでキャッシュオンにして簡単に実現できそうだ
0562nobodyさん2008/11/08(土) 07:55:27ID:???
ここ
画像もDBに格納して管理する −扱いがめんどうなLOB(ラージオブジェクト)は使わない方法も含め
http://neta.ywcafe.net/000774.html
0563nobodyさん2008/11/08(土) 11:22:34ID:???
画像格納に強いDBならいいけど
mysqlは画像を格納するという目的で設計されてないからね
だから画像をDBに入れるのが悪いというのではなく
画像をmysqlに入れるということがナンセンス
0564nobodyさん2008/11/08(土) 11:26:06ID:???
mysqlは高速が売りだからね
画像格納させたいならoracleとかの方が合理的だと思うよ
0565nobodyさん2008/11/08(土) 11:33:20ID:???
画像表示のパフォーマンスを考えればLinuxファイルシステムが最強
DBと連携させて管理するのが面倒だけど、そこまで面倒な管理とも思えない
画像はデータの一つだからDB格納がよいという理念なら
htmlもcssも全部DBに入れよということになる

0566nobodyさん2008/11/08(土) 11:38:58ID:???
データはなんでもかんでもDBという流れの人は
DBの持つ性能とバランスをどこまで考えてるの疑問に思う

0567nobodyさん2008/11/08(土) 11:42:47ID:???
だからあくまでキャッシュ前提の話なんだろ
0568nobodyさん2008/11/08(土) 12:05:42ID:???
http://dev.mysql.com/doc/refman/4.1/ja/tips.html

通常の Web サーバセットアップを使用する場合は、画像をファイルとして格納する。
言い換えると、データベース内にはファイル参照のみを格納する。この主な理由は、
通常の Web サーバのほうがデータベースコンテンツと比較してファイルのキャッシュに優れているためである。
このため、ファイルを使用したほうがシステムの高速化を容易に図れる。
0569nobodyさん2008/11/08(土) 12:09:44ID:???
ファイルシステムによるキャッシュ前提なら、DBをバックアップするだけでユー
ザのデータを一括管理できるというメリットしか存在しないと思うけどな。
Railsのときはそうやってて、非常に便利だった。
0570nobodyさん2008/11/08(土) 14:24:18ID:???
>>554
> コントローラ名にパス名も入れればユニークになって衝突回避出来なくもないが、色々面倒なことになる。

了解です。ありがとうございます。
今回はbootstrap.phpの$controllerPathsでやって、名前の衝突についてはその
都度対処することにしようと思います。
0571nobodyさん2008/11/08(土) 15:12:49ID:???
A hasMany B
B hasMany C

C belongsTo D
みたいなときのリレーションの貼り方が判らないんですが、
そもそも可能なんでしょうか?
(Aを基点にA〜Dのテーブルからデータを取ってくる想定)

SQL直書きでは勿論可能ですが。

0572nobodyさん2008/11/08(土) 15:56:39ID:???
>>571
そこまでしてリレーションに拘るのは返って
生産性を落とす可能性があるから
要はバランスですね
どこからSQLl直書きにするかの線引きはね
0573nobodyさん2008/11/08(土) 16:42:40ID:???
MYSQLだから画像は駄目と硬直的に反応するのは駄目だな

アクセス頻度やキャシュの実装、使い方や状況によって向いてる場合もあろう。
0574nobodyさん2008/11/08(土) 17:08:34ID:???
画像を表示させるにはフォルダにアップして管理するのが確実みたいですね。
簡単に出来るのなら採用したかったのですが・・・
0575nobodyさん2008/11/08(土) 18:47:57ID:???
個人情報が含まれる画像だとDBで管理するのが普通でしょ
履歴書の写真とか。
0576nobodyさん2008/11/08(土) 18:54:20ID:???
ファイルシステムで管理するからと言って、直接見られるところに
置くわけでは無いと思うが。

認証チェック経由でファイルを返すのが普通でしょ。
0577nobodyさん2008/11/08(土) 19:06:19ID:???
ファイルシステムで認証チェックしてファイル返す方法ってbasic認証のこと?
0578nobodyさん2008/11/08(土) 19:11:50ID:???
画像格納の話だけど
ファイルパスのみDBに突っ込んで画像はファイルシステムから読み出すようにすりゃ良いんじゃないの?
画像データそのものをDBに突っ込む必要があるとしたら、
バイナリデータで検索する場合しかなくない?
05795782008/11/08(土) 19:15:44ID:???
他にもあるな。
例えばDBだとデータをまとめて暗号化するようなソリューションがある場合があるが
ファイルシステムに保存するとそういう枠組みから漏れてしまう
まあファイルシステムドライバで暗号化すれば良いだけなんだけど
ドライバ方式とDB方式の差異はパフォーマンスくらいか
それも特定ディレクトリだけ暗号化するようにすれば良いだけか
0580nobodyさん2008/11/08(土) 19:26:04ID:???
<?php
// 何かしらの認証チェック...

header("Content-type: ...");
...
readfile( 直接ブラウズできないパスの画像ファイル );
?>

な処理をimgのsrcに指定。
0581nobodyさん2008/11/08(土) 19:32:38ID:???
ブラウザ⇔phpは話題にしてないと思うんだけど
php⇔hdd間での画像データのやり取りをどうするかって事だよね
0582nobodyさん2008/11/08(土) 20:14:49ID:???
>>581
元は前者の話
相談者のスキルが異常に低かったのでなぜか後者の話に移った
0583nobodyさん2008/11/09(日) 06:03:18ID:???
画像をDBで管理てのもファイルシステムで管理てのも
同じくらい面倒だ、DB画像管理が最高に楽じゃない限り
パフォーマンスのいいファイルシステムになる
0584nobodyさん2008/11/09(日) 06:10:19ID:???
mysqlを画像に入れた場合のメリットが見えない。。。
0585nobodyさん2008/11/09(日) 07:31:37ID:???
>>565
同感。
0586nobodyさん2008/11/09(日) 13:38:34ID:???
>>565
> 画像はデータの一つだからDB格納がよいという理念なら
> htmlもcssも全部DBに入れよということになる

画像はM
htmlやcssはV

DBには入れませんが。。。
0587nobodyさん2008/11/09(日) 13:55:11ID:???
ユーザの作ったデータ(日々変動する)と、開発者の作ったデータ(基本的に
リリース時で固定)は別物だと思うが。
前者をDBで一元管理できると便利だよ。
まあ抵抗のある人に無理強いするつもりはないし、個々人の自由だと思うけど。

自分はCakePHPでもこれがやれるならやりたいなあ。
何とか実現できないものか。
0588nobodyさん2008/11/09(日) 14:11:02ID:???
スケールする/しない、管理できる規模/できない規模の話だからな。
条件があえば、DB管理で一元管理でも良いと思う。

この辺を思い出した。
ttp://neta.ywcafe.net/000774.html
ttp://blog.livedoor.jp/techblog/archives/64648176.html
0589nobodyさん2008/11/09(日) 15:42:14ID:???
MovableTypeとかCSSやHTMLテンプレートDBに入ってるだろ
■ このスレッドは過去ログ倉庫に格納されています