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

△▲ WebProg 初心者の質問 Part19 ▼▽

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん2009/03/06(金) 00:11:17ID:???
2ちゃんねるは初めて。 WebProg 板は初めて。
質問したいけど、どうしたら良いか分からない。

そんなときは、ここに書き込んでください。
板の住人や、その他が、けなしながら、厳しく教えてくれるかも。

質問する前に、まずはここを読んでね。
【注意事項】
・質問する前にGoogleで検索してみましょう
http://www.google.co.jp/
・環境(ソフトウェアのバージョンなど)は、必ず書いてください。できるだけ詳しく。
 後から情報を書き足す、いわゆる情報の小出しは極力避けてください。
・何がしたくて、何ができて何ができないのかを書きましょう
・マルチポスト(複数のスレッドで質問する行為)は絶対に禁止です。
・過去ログは必ず読みましょう。あなたと同じ質問をしてる人がいるかも知れません。

2ch 総合ガイド
http://www.2ch.net/guide/

お願い。
適切な、板、スレ、を発見した場合、誘導してあげましょう。
スレの性質上 age 進行でお願いします。

関連情報は
>>2-3辺り

☆前スレ☆
△▲ WebProg 初心者の質問 Part18 ▼▽
http://pc11.2ch.net/test/read.cgi/php/1219842559/
0978nobodyさん2009/06/03(水) 00:34:54ID:???
組めば何でも可能だし、それならやってみればとしか・・・・w
0979nobodyさん2009/06/03(水) 00:37:16ID:???
>>975
「socket ftp」
0980nobodyさん2009/06/03(水) 00:41:32ID:???
FTP/SCP/NFS(後者二つはレンサバじゃ辛いかw)
あとは、画像鯖と本体鯖をHTTPでつないでもいいと思う。
HTTPでつなぐなら、本体側からみた画像のファイル名を
抽象化できるので楽な管理ができるかもよ。
0981nobodyさん2009/06/03(水) 01:14:09ID:UMpH1Jgx
サーバーは1台まるごと借りられるプランで、2つ借りるんだよね?
それとも共有サーバーを2つ?



FTP で put するのが一番簡単かと。
0982nobodyさん2009/06/03(水) 05:56:46ID:???
例が多い人だな
0983nobodyさん2009/06/03(水) 10:30:12ID:hUsGsYQX
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=21843&forum=12
このサイトを見て勉強しているんですが、この人と同じように10件や20件ずつと
件数を指定して表示し、オーバーしたらphpのpear:pagerのように次にいかせる
方法をとりたいのですが、なにかいい方法ありますか?
0984nobodyさん2009/06/03(水) 10:32:53ID:???
ORDER BY してLIMIT OFFSETで
0985nobodyさん2009/06/03(水) 11:36:37ID:???
>>983
これとかは?
ttp://www.phpbook.jp/pear/pear_pager/
0986nobodyさん2009/06/03(水) 21:28:19ID:IbTtaomD
ASP.NET MVC 1.0 (.NET Framework 3.5 sp1)
Visual Web Developer 2008(C#)
SQL Server 2005 Express

ブログのようなシステムを作成中です。
一つの記事に対して、3つの画像をアップロードできる
ようにしたいのですが、そのアップロードされた画像
をどのように管理すればよいのか分かりません。

1)特定フォルダに全部保存
この方法だと、画像が増えた場合にディスクアクセスが
遅くなりそうな気がしますし、精神衛生上よくない気がします。

2)適当な数(1000ファイルくらい?)でフォルダ分け
1番の問題を考えての方法。何となくこっちの方が良い
ような気がしてます。

どちらの場合でも、「ファイルの振り分けやナンバリング」
をどのようにやるのか?という疑問も残っています。

画像ファイルはどのように管理するのが適当なのでしょうか?
また、画像ファイルを管理するためのテーブルや、プログラム?
を作成するものでしょうか?

投稿した記事は(画像も)ディスクが一定量になるまでは
保存し続ける、という運用を想定しています。

よろしくお願いします。長文失礼しました。
0987nobodyさん2009/06/03(水) 21:45:17ID:???
フォルダの中にファイル増えたら遅くなんの?
それwindowsのGUIで開いた時の経験の話じゃねーの?
0988nobodyさん2009/06/03(水) 21:58:02ID:???
>>987
まさしくその経験の話です。
あれは、ファイル情報もろもろを取得しているから
遅いのであって、ただ単にパスとして指定するだけなら
特に問題ない感じなんですかね?
「体感的には全く問題なし」ということも十分考えられますが、
定石としてはどのような管理がなされているかをご教示
願いたい、という質問の趣旨だと思っていただければ幸いです。
0989nobodyさん2009/06/03(水) 22:06:31ID:???
ファイルを抽出してHTTPで送り出すだけなら、
一フォルダにたくさんあって遅くなるのは数十万
ファイルのオーダーだよ。

気になるなら、容量は食うけど、SQLSVにバイナリ
で突っ込んでもいいんじゃない。画像の固有IDに
だけ、インデックスを貼るようにしてさ。
0990nobodyさん2009/06/03(水) 22:06:47ID:???
ファイルのメタ情報を拾ってくる分重いというのはそのとおりだけど、
ディレクトリエントリはひとつずつ線形に列挙して探すしかないので、
ファイル数が多いと目的のファイル名を見付けるまでに相対的に余計に
時間がかかる可能性はあるかもしれない。

それとも、最近のFSは、ファイル名からO(1)で実データに到達できるよ
うになってたりするんかな?
0991nobodyさん2009/06/03(水) 22:09:09ID:???
>>987
ファイルシステムにもよるけど遅くなったり
ディレクトリあたり32768個以上のエントリを置けなかったりするよ。
0992nobodyさん2009/06/03(水) 22:10:19ID:???
毎日2つエントリが増えると仮定して、画像ファイルは一ヵ年で最大2190個
20まんこ許容するなら90年たったら次のフォルダを作るとかどうでもいいレベルなので単一ディレクトリに押し込むのが普通と思うが
ブログでは月ごと、年ごとのフォルダ分けくらいはできるものがある
規定数のフォルダに均等に分けるなら例えばアップロード時タイムスタンプの下一桁で分けるとかなんとか。しかしExplorer的一覧性は皆無
0993nobodyさん2009/06/03(水) 22:13:40ID:???
>>990 じじい乙
0994nobodyさん2009/06/03(水) 22:22:05ID:???
じーさまは低速モデムでFTP接続してlistしたのを
シリアルコンソールで見る可能性がある。
09959862009/06/03(水) 22:26:44ID:IbTtaomD
皆様ありがとうございます。
情報の小出しをするな、と書いてあるにも関わらず、
情報漏れがあったことをお詫びします。
・Windows Server 2008 + IIS7.0
・ファイルシステム:NTFS
・レンタルサーバーの条件で、SQL Server の容量は
  少なめに設定されているので、SQL Server には格納しない
という情報が漏れていました。
お話によると、とりあえず一つのフォルダに押し込んでしまって
良いようなので、そのようにしたいと思います。
タイムスタンプ下一桁で振り分ける方法は思いもよりませんでした。
今後、何かに使えるかもしれません。ありがとうございます。

教えて頂いてばかりで恐縮なのですが、もう一つお願いいたします。
ファイル名はシステム側で割り振らなければいけないと思うのですが、
どのように管理するべきでしょうか?

ただの連番にするにも、じゃあ誰がカウントするの?という疑問があります。
参照カウンタのようなデータをどこかで持っておいて、その値に基づいて
ファイル名をつけるような感じになるのでしょうか?

それと、僕は今、次スレの心配をしています。
どなたかお願いします。(と、僕が言うことでもありませんが)
0996nobodyさん2009/06/03(水) 22:44:53ID:???
>>990
O(1)は絶対ムリだろう。
XFSとかJFSとか最近できたfsは木構造使っててO(log n)。
ntfsはどうなんだろ。
0997nobodyさん2009/06/03(水) 22:45:29ID:???
連番なんてあなたの好きなようにすればいいんじゃない?
0998nobodyさん2009/06/03(水) 22:47:24ID:???
ファイル名はバッティングしないかぎりユーザが決めていいんじゃないの
DBで管理するならDBが勝手に割り当てるファイルIDと、ユーザが決めるファイル名を分けることもできる
というかDBで管理しないとアップロードした画像の管理画面作るのが面倒な木がする
0999nobodyさん2009/06/03(水) 22:48:58ID:???
>>994
残り少ない寿命で数万のファイルリストが送られてくるのを待つわけか
1000nobodyさん2009/06/03(水) 22:51:16ID:???
バッティングしたときだけインクリメントするってのはよくある仕様だな
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。